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里,你只遍历窗体的控件是不够的。
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
可以的,需要判断控件类型并做一下类型转换。
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