我想移动面板以响应 MouseMove 事件,但如果鼠标悬停在面板内的标签上,则不会触发此事件。(如果鼠标在面板内但在标签外,则会触发)。有没有简单的方法来解决这个问题?
我正在使用 Visual Basic 2010。
你可以让你自己的类派生自面板并使用这个http://msdn.microsoft.com/en-us/library/system.windows.forms.control.onmousemove.aspx
Protected Overridable Sub OnMouseMove ( e As MouseEventArgs )
这将使您可以访问面板上的所有鼠标移动事件
找到了一种方法:
Private Sub MyControl_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Click
'Something it does when clicked
End Sub
Private Sub MyControl_ControlAdded(ByVal sender As Object, ByVal e As System.Windows.Forms.ControlEventArgs) Handles Me.ControlAdded
AddHandler e.Control.Click, AddressOf MyControl_Click
AddHandler e.Control.ControlAdded, AddressOf MyControl_ControlAdded
End Sub
我只需要对 MouseOver 做同样的事情。