网站建设资讯

NEWS

网站建设资讯

vb.net控件遍历 vbnet for each

vb.net panel里的控件如何遍历

Public Sub ReSetText(Control ctrl)        

10余年的荔浦网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。营销型网站建设的优势是能够根据用户设备显示端的尺寸不同,自动调整荔浦建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联从事“荔浦网站设计”,“荔浦网站推广”以来,每个客户项目都认真落实执行。

Dim ct As Control

For Each ct In ctrl.Controls

Try

For Each ct2 As Control In ct.Controls

ReSetText(ct2)

Next

Catch

End Try

If (TypeOf ct Is TextBox) Then

ct.Text = ""

ElseIf (TypeOf ct Is ComboBox) Then

Dim cb As System.Windows.Forms.ComboBox = DirectCast(ct, System.Windows.Forms.ComboBox)

cb.SelectedIndex = -1

End If

Next

End Sub

因为textbox在窗体里的panel里,你只遍历窗体的控件是不够的。

vb.net怎么遍历所有控件,使Click都执行相同的过程

c# 用程序转的,也不知道对不对。你看看有没有帮助 ,这是遍历所有控件,还有一个办法就是重载form的消息处理函数应该也是可以的。

STAThread _

Public Shared Sub Main(args As String())

Dim button = New Button()

button.Text = "我是按钮"

button.Dock = DockStyle.Fill

Dim form = New Form()

form.Controls.Add(button)

CapturehMouseClickEvent(form)

form.ShowDialog()

End Sub

Private Shared Sub CapturehMouseClickEvent(control As Control)

AddHandler control.Click, AddressOf ControlOnClick

For Each subControl As Control In control.Controls

CapturehMouseClickEvent(subControl)

Next

End Sub

Private Shared Sub ControlOnClick(sender As Object, eventArgs As EventArgs)

Debug.WriteLine("控制被单击")

End Sub

关于遍历VB.net窗体里面控件的问题

可以的,需要判断控件类型并做一下类型转换。

For Each c As Control In Me.Controls

If TypeOf(c) Is TextBox Then

Dim t As TextBox = CType(c ,TextBox)

'调用t的方法即可

End If

Next


分享文章:vb.net控件遍历 vbnet for each
网页网址:http://cdweb.net/article/ddogpje.html