重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
Private Sub b_click(sender As Object, e As EventArgs)
丰泽网站制作公司哪家好,找成都创新互联公司!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设等网站项目制作,到程序开发,运营维护。成都创新互联公司于2013年创立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联公司。
MsgBox(sender.name)
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim b() As Button = {Button1, Button2, Button3}
For Each i In b
AddHandler i.Click, AddressOf b_click
Next
End Sub
对于窗体中的容器控件,比如 GroupBox,Panel 等,它仅仅访问了这些控件本身,而不会去访问它们的子控件。为了实现你所要求的功能,需要将上述代码修改:
Public Sub IterateThroughControls(ByVal parent As Control)
For Each c As Control In parent.Controls
MessageBox.Show(c.ToString())
If c.HasChildern Then
'利用递归实现容器子控件的访问,重复循环遍历控件,调用自身函数
IterateThroughControls(c)
End If
Next
End Sub
调用方法:
IterateThroughControls(TabControl1) 'tabcontrol1为控件名,也可用groupbox1等
此外,判断遍历的控件是不是相应的文本控件,或者combobox控件,可用此代码判断
For Each t As Control In Me.Controls
If TypeOf t Is TextBox Then
MsgBox(t)
End If
Next
我有篇文章专门讲到了线程和委托的使用,保证你一看就懂。我就不多说了,自己看看:
Dim Str(20) As String '20数据元素
Dim Text(20) As TextBox
Dim n As Integer = 0
For Each i In Text
i = New TextBox '实例化
i.Location = New Point(50, n * 20)
Me.Controls.Add(i) '添加窗体
Dim Index As Integer = i.TabIndex '没index属性
Str(n) = Index
i.Text = Str(n) 'str数组值赋值给文本框
n += 1
Next
如果是.NET平台的,你可以使用ComponentOne Enterprise 全功能.NET控件集中的布局控件实现。也可以试试ComponentOne的LinearGauge 控件,这是一个线性仪表器,显示为一个值和象征参考值的可选范围。线性仪表盘(LinearGauge)控件提供了一个 ShowText 属性,用来决定哪些值以文本显示。
》》传送门:网页链接