我正在尝试确定 ToolStripMenuItem 的 MouseHover 事件中的当前鼠标位置。我正在使用 Cursor.Current.Position 属性来完成此操作。
这是预期的代码:
Private Sub pbNotesFlag_MouseHover(sender As Object, e As EventArgs)
pbNotesFlagToolTip.Location = New Point(Cursor.Position.X, Cursor.Current.Position.Y) 'New Point(pbNotesFlag.Location.X - 20, pbNotesFlag.Location.Y + 15)
pbNotesFlagToolTip.Visible = True
pbNotesFlagToolTip.BringToFront()
End Sub
问题是我收到以下错误:
Access of shared member, constant member, enum member or nested type through an instance; qualifying types will not be evaluated.
在网上研究了这个之后,我发现流行的观点是Cursor引用应该是完全限定的,所以我将代码更改如下:
Private Sub pbNotesFlag_MouseHover(sender As Object, e As EventArgs)
pbNotesFlagToolTip.Location = New Point(System.Windows.Forms.Cursor.Current.Position.X, System.Windows.Forms.Cursor.Current.Position.Y) 'New Point(pbNotesFlag.Location.X - 20, pbNotesFlag.Location.Y + 15)
pbNotesFlagToolTip.Visible = True
pbNotesFlagToolTip.BringToFront()
End Sub
不幸的是,我仍然遇到同样的错误。
我试过改变参考上下文;例如,将引用放在模块而不是类中。到目前为止,我一直无法解决这个错误。
我不确定为什么这个参考不起作用。从表面上看,这似乎是正确用法的教科书示例(根据 MSDN)。
我在这里想念什么?
当然,任何见解和/或建议将不胜感激。