当任何文本框更改时 (VB)
When any of the textboxes changes (VB)
我是 VB 的初学者,我希望稍微优化一下我的代码。我有 9 个文本框,每次其中一个更改时,我 运行 一个基于其内容的子例程。有没有办法让它遍历所有 9 个文本框并在其中任何一个发生更改时注册,也许使用 for 循环。这是..我的代码现在看起来像...
Private Sub tbBox1_TextChanged(sender As Object, e As EventArgs) Handles tbBox1.TextChanged
checkInput(tbBox1, 0, 0)
End Sub
Private Sub tbBox2_TextChanged(sender As Object, e As EventArgs) Handles tbBox2.TextChanged
checkInput(tbBox2, 0, 1)
End Sub
Private Sub tbBox3_TextChanged(sender As Object, e As EventArgs) Handles tbBox3.TextChanged
checkInput(tbBox3, 0, 2)
End Sub
..等等
尝试多个手柄:
Private Sub tbBox_TextChanged(sender As Object, e As EventArgs) Handles _
tbBox1.TextChanged, _
tbBox2.TextChanged, _
tbBox3.TextChanged
checkInput(sender, 0, 0)
End Sub
您不需要为每个文本框使用单独的处理程序。单个处理程序方法可以处理所有这些。如果您需要将每个文本框的值传递给您的 checkInput
方法,只需使用每个文本框的 Tag
属性。
Private Sub TextBoxChanged(sender As Object, e As EventArgs) Handles tbBox1.TextChanged, tbBox2.TextChanged, tbBox3.TextChanged 'etc.
checkInput(sender, 0, sender.Tag)
End Sub
我是 VB 的初学者,我希望稍微优化一下我的代码。我有 9 个文本框,每次其中一个更改时,我 运行 一个基于其内容的子例程。有没有办法让它遍历所有 9 个文本框并在其中任何一个发生更改时注册,也许使用 for 循环。这是..我的代码现在看起来像...
Private Sub tbBox1_TextChanged(sender As Object, e As EventArgs) Handles tbBox1.TextChanged
checkInput(tbBox1, 0, 0)
End Sub
Private Sub tbBox2_TextChanged(sender As Object, e As EventArgs) Handles tbBox2.TextChanged
checkInput(tbBox2, 0, 1)
End Sub
Private Sub tbBox3_TextChanged(sender As Object, e As EventArgs) Handles tbBox3.TextChanged
checkInput(tbBox3, 0, 2)
End Sub
..等等
尝试多个手柄:
Private Sub tbBox_TextChanged(sender As Object, e As EventArgs) Handles _
tbBox1.TextChanged, _
tbBox2.TextChanged, _
tbBox3.TextChanged
checkInput(sender, 0, 0)
End Sub
您不需要为每个文本框使用单独的处理程序。单个处理程序方法可以处理所有这些。如果您需要将每个文本框的值传递给您的 checkInput
方法,只需使用每个文本框的 Tag
属性。
Private Sub TextBoxChanged(sender As Object, e As EventArgs) Handles tbBox1.TextChanged, tbBox2.TextChanged, tbBox3.TextChanged 'etc.
checkInput(sender, 0, sender.Tag)
End Sub