你好,这是我的代码
Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
TextBox1.Text = Val(TextBox1.Text)
End Sub
Private Sub TextBox2_TextChanged(sender As Object, e As EventArgs) Handles TextBox2.TextChanged
TextBox2.Text = Val(TextBox2.Text)
End Sub
Private Sub TextBox3_TextChanged(sender As Object, e As EventArgs) Handles TextBox3.TextChanged
TextBox3.Text = Val(TextBox3.Text)
End Sub
Private Sub TextBox4_TextChanged(sender As Object, e As EventArgs) Handles TextBox4.TextChanged
TextBox4.Text = Val(TextBox4.Text)
End Sub
Private Sub TextBox5_TextChanged(sender As Object, e As EventArgs) Handles TextBox5.TextChanged
TextBox5.Text = Val(TextBox5.Text)
End Sub
Private Sub TextBox6_TextChanged(sender As Object, e As EventArgs) Handles TextBox6.TextChanged
TextBox6.Text = Val(TextBox6.Text)
End Sub如何为所有文本框创建简短代码?我试着用这个代码,我不能工作
Dim i As integr
TextBox(i).text = Val(TextBox(i).text)谢谢你的帮助
发布于 2016-08-03 16:07:07
您只需要创建一个TextChanged处理程序,然后将所有Texbox事件绑定到它。
Private Sub TextBox_TextChanged(sender As Object, e As EventArgs) _
Handles TextBox1.TextChanged, TextBox2.TextChanged, <...for all your textboxes ..>
Dim target = DirectCast(sender, TextBox)
target.Text = Val(target.Text)
End Sub如果要在代码中绑定所有文本框,则可以在加载窗体后以编程方式完成此操作:
Dim allTextBoxes = Me.Controls.OfType(Of TextBox)()
For Each textbox In allTextBoxes =
AddHandler textbox.TextChanged, AddressOf TextBox_TextChanged
Next发布于 2016-08-03 16:04:33
使用一个处理程序来处理所有问题:
Private Sub TextBox_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged, _
TextBox2.TextChanged, _
TextBox3.TextChanged, _
TextBox4.TextChanged, _
TextBox5.TextChanged, _
TextBox6.TextChanged
Dim txt = DirectCast(sender, TextBox)
txt.Text = Val(txt.Text)
End Sub发布于 2016-08-03 17:05:45
除了默里·福克斯克罗夫特的回答。您可以动态地为文本框创建处理程序,并通过执行以下操作在一个文本框中添加子例程
Dim textboxes = Me.Controls.OfType(Of TextBox)()
For Each txt in textboxes
AddHandler textbox.TextChanged, Sub(sender As Object, e As EventArgs)
... (using sender to find out which textbox sent the command)
End Sub
Nexthttps://stackoverflow.com/questions/38737788
复制相似问题