vb.net定义动态控件事件
我动态加载了150个textbox,每个textbox的执行事件都是一样的,比如输入的不为数字,就自动清空。要怎么定义它们的事件。相当于vb6的数组控件,但net不知道怎...
我动态加载了150个textbox,每个textbox的执行事件都是一样的,比如输入的不为数字,就自动清空。要怎么定义它们的事件。相当于vb6的数组控件,但net不知道怎么写
展开
1个回答
展开全部
给你个例子就知道了
Public Class Form1
'演示为动态添加的控件添加事件
Private WithEvents Tb As New TextBox '方法2必须这样写
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
' Dim Tb As New TextBox
Tb.Name = "Textbox1"
Tb.Text = "文本框1"
Controls.Add(Tb)
AddHandler Tb.KeyPress, AddressOf XX '方法1,移动鼠标触发
End Sub
Private Sub XX()
MsgBox("AddHandler方法")
End Sub
Private Sub ShowClick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Tb.Click '方法2,单击触发
MsgBox("Handles方法,你点击了" & sender.name)
End Sub
End Class
Public Class Form1
'演示为动态添加的控件添加事件
Private WithEvents Tb As New TextBox '方法2必须这样写
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
' Dim Tb As New TextBox
Tb.Name = "Textbox1"
Tb.Text = "文本框1"
Controls.Add(Tb)
AddHandler Tb.KeyPress, AddressOf XX '方法1,移动鼠标触发
End Sub
Private Sub XX()
MsgBox("AddHandler方法")
End Sub
Private Sub ShowClick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Tb.Click '方法2,单击触发
MsgBox("Handles方法,你点击了" & sender.name)
End Sub
End Class
更多追问追答
追问
如果是控件组呢,我里面加载了10个TEXTBOX,要怎么使我点击每个TEXTBOX都能唤出CLICK事件
我把各个TEXTBOX赋给T(10)数组,在定义的事件中这样写怎么不行
Private Sub ShowClick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles T(10).Click
MsgBox("Handles方法,你点击了")
End Sub
追答
在vb.net里面没有控件数组的概念,目前为止我掌握的方法就是,在handles语句后面添加你所有的控件名和事件,区别点击哪个的参数是sender。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询