首页 > 解决方案 > 多个子事件在一个地方

问题描述

现在在我的主要表格中,我有:

Public Sub TextBox1_Click(sender As Object, e As EventArgs) Handles TextBox1.Click
    Me.TextBox1.SelectAll()
End Sub

Public Sub TextBox2_Click(sender As Object, e As EventArgs) Handles TextBox2.Click
    Me.TextBox2.SelectAll()
End Sub

Public Sub TextBox3_Click(sender As Object, e As EventArgs) Handles TextBox3.Click
    Me.TextBox3.SelectAll()
End Sub

这是不切实际的,我想知道是否有办法将所有这些事件放在一个地方,然后在主表单中调用它,例如:

Module selectall
    Public Sub Form1.TextBox1_Click(sender As Object, e As EventArgs) Handles Form1.TextBox1.Click
        Form1.TextBox1.SelectAll()
    End Sub

Public Sub Form1.TextBox2_Click(sender As Object, e As EventArgs) Handles Form1.TextBox2.Click
        Form1.TextBox2.SelectAll()
    End Sub

Public Sub Form1.TextBox3_Click(sender As Object, e As EventArgs) Handles Form1.TextBox3.Click
        Form1.TextBox3.SelectAll()
    End Sub

End Module

标签: vb.netevents

解决方案


Visual Studio 的属性部分中已经存在一个选项,您无需编写任何内容即可同时处理多个事件。

只需选择您需要使用的所有文本框,然后关注右下角:

Click 事件的属性

只需简单地点击Click,你会得到类似的东西:

Private Sub TextBox4_Click(sender As Object, e As EventArgs) Handles TextBox4.Click, TextBox3.Click, TextBox2.Click, TextBox1.Click
End Sub

简单地说:sender.SelectAll()在 Sub 中享受。


推荐阅读