因此,我有一个UserControl,其中有一个用于单击按钮的句柄:
Private Sub Forward_Click(sender As Object, e As EventArgs) Handles Forward.Click
然后第二个按钮单击:
Private Sub back_Click(sender As Object, e As EventArgs) Handles Back.Click
我还有另一个用于在userControl上单击鼠标的句柄:
Private Sub UserControl_MouseClick(sender As Object, e As MouseEventArgs) Handles Me.MouseClick
根据情况,我想从此子功能引发按钮单击之一的事件。所有这些句柄都在同一UserControl类中。它将如何实现。
答案 0 :(得分:1)
您可以通过将e.Button与MouseButton.Left或MouseButton.Right进行比较来检查单击了哪个按钮。这样可以确保仅在单击鼠标左键时才运行代码。
If e.Button = MouseButtons.Left Then
'Any user code here
End If
您可以使用其他事件处理程序的方法名称来调用它,就像调用其他任何方法一样。
Forward_Click(Me, Nothing)
将所有内容放在一起看起来像这样。
Private Sub UserControl1_MouseClick(sender As Object, e As MouseEventArgs) Handles Me.MouseClick
If e.Button = MouseButtons.Left Then
Forward_Click(Me, Nothing)
ElseIf e.Button = MouseButtons.Right Then
Back_Click(Me, Nothing)
End If
End Sub
您的情况可能有所不同,这仅是示例。它也可能不是“最佳实践”,但我不是在这里争论“最佳实践”是什么。这是一个可行的示例,可以回答您的问题。希望对您有所帮助。