Vb.net 检查鼠标指针是否进入面板组件
如何检查我的Vb.net 检查鼠标指针是否进入面板组件,vb.net,Vb.net,如何检查我的鼠标光标是否进入面板中的任何组件 我开始写这段代码来检查鼠标何时进入我的面板中的任何复选框,然后我意识到我不知道如何实际检查鼠标是否进入面板中的组件 Private Sub GenCheck() For Each CheckBox In datapanel1.Controls Next End Sub 我该怎么做呢 编辑 我有个主意,但我不太确定 我可以说 Private Sub GenCheck() Dim cb As CheckBox
鼠标光标是否进入面板中的任何组件
我开始写这段代码来检查鼠标何时进入我的面板中的任何复选框
,然后我意识到我不知道如何实际检查鼠标是否进入面板中的组件
Private Sub GenCheck()
For Each CheckBox In datapanel1.Controls
Next
End Sub
我该怎么做呢
编辑
我有个主意,但我不太确定
我可以说
Private Sub GenCheck()
Dim cb As CheckBox
For Each cb In datapanel1.Controls
AddHandler cb.MouseEnter, AddressOf cb_MouseEnter
AddHandler cb.MouseLeave, AddressOf cb_MouseLeave
Next
End Sub
Private Sub cb_MouseEnter(sender As Object, e As EventArgs)
End Sub
Private Sub cb_MouseLeave(sender As Object, e As EventArgs)
End Sub
您可以使用
MouseHover
来确定光标何时悬停在复选框上方,如下所示
Private Sub CheckBox1_MouseHover(sender As Object, e As System.EventArgs) Handles CheckBox1.MouseHover
MsgBox("Mouse over!")
End Sub`
编辑:
我在表单上放置了一个面板,带有两个复选框以模拟您的需求,以下是您需要的:
Private Sub Form1_Load(sender As Object, e As System.EventArgs) Handles Me.Load
For Each pnlCheckBox As CheckBox In Panel1.Controls
AddHandler pnlCheckBox.MouseHover, AddressOf Me.CheckBoxMouseOver
Next
End Sub
Private Sub CheckBoxMouseOver()
MsgBox("Mouse over!")
End Sub
*实现这一目标的完美方式*
还有许多其他事件可供您利用,例如MouseClick
,MouseLeave
,和MouseDown
。谢谢:)我正在编辑我的代码,所以我还没有看到这个答案,我记得AddHandler,所以我想这个问题已经解决了。您肯定走在正确的轨道上,根据你在那里贴的内容判断,我会在一分钟内发布完美的答案
Dim con As Control
For Each con In datapanel1.Controls
AddHandler con.MouseEnter, AddressOf con_MouseEnter
AddHandler con.MouseLeave, AddressOf con_MouseLeave
Next
End Sub
Private Sub con_MouseEnter(sender As Object, e As EventArgs)
'DO SOMETHING'
End Sub
Private Sub con_MouseLeave(sender As Object, e As EventArgs)
'DO SOMETHING'
End Sub