我希望我的VB程序中的文本框能够在程序加载时自动清除,我已经完成了这个,但我想知道是否有一个简短的方法只是为了保持代码合理整洁并减少浪费的时间并且不需要重复。我已经添加了一小段他们目前的片段。
Postcode.Text = ""
Address.Text = ""
HouseNumber.Text = ""
等等......
答案 0 :(得分:1)
您可以循环并设置值;
For Each tb In Me.Controls.OfType(Of TextBox)
tb.Text = ""
Next
答案 1 :(得分:0)
加载应用程序时,文本框应为空,除非您设置了默认值。
为什么你认为他们会有参赛作品?
您可以使用以下代码:
For Each txt In {txt1, txt2, txt3, txt4}
txt.Clear()
Next
答案 2 :(得分:0)
正如卡尔所提到的,你的TexBox已经是空的;除非您在关闭表单时没有正确卸载表单?
要正确卸载表单并删除表单中的所有现有值,您只需在UserForm模块中包含Unload Me
,或在普通模块中包含Unload Userform1
。
作为参考,您可以循环浏览并清除下面的每个TextBox。
Dim ufControl As Control
For Each ufControl In UserForm1.Controls
If TypeName(ufControl) = "TextBox" Then
ufControl.Text = ""
End If
Next ufControl
编辑:刚刚意识到你并不是在谈论Excel UserForms,但是主体应该几乎相同..遍历每个TextBox并清除任何值。