VB.net Handles 问题
publictest()AsTextBox={TextBox0,TextBox1,TextBox2,TextBox3,TextBox4.....TextBox80}Pri...
public test () As TextBox = {TextBox0, TextBox1 ,TextBox2 ,TextBox 3,TextBox4 .....TextBox80}
Private Sub TextBox0_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles test (0).TextChanged,test (2).TextChanged............,test (79).TextChanged
需要的代码
End Sub
如上面代码所示,Handles 后面跟的控件能批量或者使用吗?按照上面写的编译通不过!
本人菜鸟,有没有其他的方法啊,谢谢了! 展开
Private Sub TextBox0_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles test (0).TextChanged,test (2).TextChanged............,test (79).TextChanged
需要的代码
End Sub
如上面代码所示,Handles 后面跟的控件能批量或者使用吗?按照上面写的编译通不过!
本人菜鸟,有没有其他的方法啊,谢谢了! 展开
2个回答
展开全部
对于批量的对象就用循环好了,一个一个复制粘贴并不是很好的解决方案。
首先写好事件处理函数。
Private Sub TextBoxChanged(sender As Object, e As EventArgs)
'一些代码
End Sub
下面是主函数
Dim tests() As TextBox '数组或集合字段名称用复数
Dim num As Integer = 80 '控件总个数
ReDim tests(num)
For i = 0 To tests.Count - 1
Dim item As New TextBox
test(i) = item
AddHandler item.TextChanged, AddressOf TextBoxChanged '绑定对象事件到处理函数
Next
手机写的可能难免有错,理解就行
首先写好事件处理函数。
Private Sub TextBoxChanged(sender As Object, e As EventArgs)
'一些代码
End Sub
下面是主函数
Dim tests() As TextBox '数组或集合字段名称用复数
Dim num As Integer = 80 '控件总个数
ReDim tests(num)
For i = 0 To tests.Count - 1
Dim item As New TextBox
test(i) = item
AddHandler item.TextChanged, AddressOf TextBoxChanged '绑定对象事件到处理函数
Next
手机写的可能难免有错,理解就行
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
之所以可以 Handles ,是因为窗体设计代码中有这么一句:
Friend WithEvents TextBox1 As System.Windows.Forms.TextBox
而用 WithEvents 是不可以声明数组的,所以 test() 这类控件数组就不可 Handles 了。
只能是
Sub a(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles TextBox1.TextChanged, TextBox2.TextChanged, TextBox3.TextChanged,....
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询