Vb.net 将控件移动到光标位置?

Vb.net 将控件移动到光标位置?,vb.net,winforms,Vb.net,Winforms,我想在鼠标光标位置显示FlowLayoutPanel。但随着我的代码吼叫,它只在我表格的中心跳跃。我正在DataGridView.CellMouseEnter事件中触发它。我想征求一些意见,谢谢 Private Sub dgw_CellMouseEnter(sender As Object, e As DataGridViewCellEventArgs) Handles dgw.CellMouseEnter FlowLayoutPane1.Location = Cursor.Positi

我想在鼠标光标位置显示FlowLayoutPanel。但随着我的代码吼叫,它只在我表格的中心跳跃。我正在DataGridView.CellMouseEnter事件中触发它。我想征求一些意见,谢谢

Private Sub dgw_CellMouseEnter(sender As Object, e As DataGridViewCellEventArgs) Handles dgw.CellMouseEnter

   FlowLayoutPane1.Location = Cursor.Position
   FlowLayoutPane1.Visible = True

End Sub

使用
MouseMove
而不是
MouseEnter
事件
MouseEnter
仅在鼠标进入控件时调用一次。

请注意,
MouseMove
事件会触发,即使鼠标位置可能在控制范围之外。

我知道这一点,但它会在我输入的每个单元格上触发,或者?但这仍然没有改变什么,我的FlowLayoutPane的生成位置仍然存在问题。它仍然出现在表格的中心,甚至不靠近我的鼠标光标…?@Dave:对不起,我误解了你的问题。如果您正在谈论定位,您需要知道鼠标位置始终在屏幕坐标中。因此,您可以使用该函数计算表单坐标。Cursor.Position位于屏幕坐标中。您需要FlowLayoutPane1.Parent.PointToClient(Cursor.Position)来代替。你真正想要它的几率是零,当用户用键盘操作网格时,它仍然是一个完全随机的位置。