我想移動面板以響應MouseMove事件,但如果鼠標懸停在面板內部的標籤上,則不會觸發此事件。 (如果鼠標位於面板內但位於標籤外部,則觸發它)。有沒有簡單的方法來解決這個問題?MouseMove在包含標籤的面板中
我使用Visual Basic 2010
我想移動面板以響應MouseMove事件,但如果鼠標懸停在面板內部的標籤上,則不會觸發此事件。 (如果鼠標位於面板內但位於標籤外部,則觸發它)。有沒有簡單的方法來解決這個問題?MouseMove在包含標籤的面板中
我使用Visual Basic 2010
找到一種方式來做到這一點:
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)
這會給你在面板訪問所有的鼠標移動事件
我已經做到了,仍然無法正常工作。 – user2303304 2013-04-25 22:05:50
被調用的方法是你使用這個面板?添加記錄器?在Java中,你需要啓用這些可以閱讀這個類的文檔嗎? – tgkprog 2013-04-25 22:09:58
只有在鼠標懸停在面板上但位於面板內的標籤之外時,纔會調用override方法。所以我想不需要啓用該方法,但問題依然存在。 – user2303304 2013-04-25 22:52:07
不是一個.net專家,但在Java中,你會添加聽衆的標籤,或超過低級別事件 – tgkprog 2013-04-20 23:46:52