在 UserControl 中引发事件 Class

Raising event in UserControl Class

所以,我有一个 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 Class 中。它将如何实施。

您可以通过比较 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

您的情况可能有所不同,因为这只是一个示例。它也可能不是 "Best Practice" 但我不是来争论 "Best Practice" 是什么的。这是一个可以回答您问题的工作示例。希望对你有帮助。