winforms vb.net 鼠标位置对话框

sqxo8psd  于 2023-01-14  发布在  .NET
关注(0)|答案(1)|浏览(141)

我有一个datagridview.columnheadermouseclick事件处理程序,这个有e as datagridviewcellmouseeventargs,但是e.location没有给予我鼠标的位置,我希望它能给我。
考虑到这一点,我尝试完成此操作(我已将FormFilterStartPosition属性设置为Manual

Private Sub filterclm(sender As Object, e As DataGridViewCellMouseEventArgs) Handles DGV.ColumnHeaderMouseClick
    Using filter As New FormFilter
        filter.Location = e.Location 'wrong location
        If filter.ShowDialog(Me) = DialogResult.OK Then
            ...
        End If
    End Using
End Sub

我应该如何得到鼠标的真实的位置?

g6ll5ycj

g6ll5ycj1#

ColumnHeaderMouseClick事件处理程序中的e.location将保存相对于列单元格的位置。
如果希望在鼠标光标所在的位置显示新的FormFilter窗体,实际上可以忽略它,并使用静态属性Cursor.Position
它会给予你相对于整个屏幕的位置,这是你需要设置一个新表单的Location

filter.Location = Cursor.Position

相关问题