MouseMove在包含标签的面板中

问题描述:

我想移动面板以响应MouseMove事件,但如果鼠标悬停在面板内部的标签上,则不会触发此事件。 (如果鼠标位于面板内但位于标签外部,则触发它)。有没有简单的方法来解决这个问题?MouseMove在包含标签的面板中

我使用Visual Basic 2010

+0

不是一个.net专家,但在Java中,你会添加听众的标签,或超过低级别事件 – tgkprog 2013-04-20 23:46:52

找到一种方式来做到这一点:

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做同样的事情。

你可以做你自己的类从小组中获得并使用此http://msdn.microsoft.com/en-us/library/system.windows.forms.control.onmousemove.aspx

Protected Overridable Sub OnMouseMove (e As MouseEventArgs) 

这会给你在面板访问所有的鼠标移动事件

+0

我已经做到了,仍然无法正常工作。 – user2303304 2013-04-25 22:05:50

+0

被调用的方法是你使用这个面板?添加记录器?在Java中,你需要启用这些可以阅读这个类的文档吗? – tgkprog 2013-04-25 22:09:58

+0

只有在鼠标悬停在面板上但位于面板内的标签之外时,才会调用override方法。所以我想不需要启用该方法,但问题依然存在。 – user2303304 2013-04-25 22:52:07