我有一个datagridview.columnheadermouseclick
事件处理程序这一个有e as datagridviewcellmouseeventargs
,但e.location
没有给我鼠标的位置,我希望它会。
考虑到这一点,我尝试完成这一点(我已经将FormFilter
的StartPosition
属性设置为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
如何获得鼠标的真实位置?
ColumnHeaderMouseClick
事件处理程序中的e.location
将保存相对于列单元格的位置。
如果你想显示你的新FormFilter
窗体的鼠标光标的位置,你可以忽略它,使用静态属性Cursor.Position
。
它会给你相对于整个屏幕的位置,这是你需要的,以便设置一个新窗体的Location
:
filter.Location = Cursor.Position