我有一个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
我应该如何得到鼠标的真实的位置?
1条答案
按热度按时间g6ll5ycj1#
ColumnHeaderMouseClick
事件处理程序中的e.location
将保存相对于列单元格的位置。如果希望在鼠标光标所在的位置显示新的
FormFilter
窗体,实际上可以忽略它,并使用静态属性Cursor.Position
。它会给予你相对于整个屏幕的位置,这是你需要设置一个新表单的
Location
: