直接For就行了
建网站原本是网站策划师、网络程序员、网页设计师等,应用各种网络程序开发技术和网页设计技术配合操作的协同工作。创新互联公司专业提供成都网站建设、成都网站制作,网页设计,网站制作(企业站、成都响应式网站建设公司、电商门户网站)等服务,从网站深度策划、搜索引擎友好度优化到用户体验的提升,我们力求做到极致!
Dim ctl As Control
Dim lbl as Label
For Each ctl In Me.Controls
If ctl.GetType.ToString = "System.Windows.Forms.Label" Then
lbl = CType(ctl,Label)
'得到一个Label,可以对它进行赋值操作了
Msgbox lbl.Name
End If
Next
Private ctrName As String '控件名称
Private isClick As Boolean '鼠标点击状态
'注:如果已知点击目标控件的父控件,ctrParent变量可以不要。
Private WithEvents ctrParent As Control '父控件
Private Sub ControlAMouseDown(sender As Object, e As MouseEventArgs) _
Handles Button1.MouseDown
isClick = (e.Button = MouseButtons.Left _
Or e.Button = MouseButtons.Right) '左键或右键按下
If isClick Then
Dim ctr As Control = CType(sender, Control) '转换Object为控件类型
ctrName = ctr.Name '获取控件名称
ctrParent = ctr.Parent '获取控件的父控件
End If
End Sub
'增加这个父控件事件,是为了正确判别鼠标弹起时是否已进入指定目标
Private Sub ParentMouseMove(sender As Object, e As EventArgs) _
Handles ctrParent.MouseMove '如果已取消ctrParent变量,改为相应的父控件
If isClick Then isClick = False '点击状态关闭
End Sub
Private Sub ControlBMouseUp(sender As Object, e As EventArgs) _
Handles Button2.MouseEnter
If isClick Then '如果点击状态为打开
Dim ctr As Control = CType(sender, Control) '转换Object为控件类型
MsgBox(ctrName " | " ctr.Name) '弹出消息显示结果
End If
End Sub
For Each c As Control In Me.Controls
MessageBox.Show(c.ToString())
Next
一个简单的例子,遍历当前Form下所有TextBox并将Text属性设置为空
For Each ct As Control In Me.Controls
If TypeOf ct Is TextBox Then
ct.Text = ""
End If
Next
这个简单。
在VB.net中,每个事件都对应有两个参数:sender 和 e 。提取 sender 参数信息就可以获取控件名称。如果不理解其中机制,你直接 msgbox(sender) 将其输出,就能查看其中玄机。
获取控件名称代码:CType(sender, Control).Name。