VB中关于控制多个控件的操作

来源:百度知道 编辑:UC知道 时间:2024/05/21 10:26:28
我的思想是这样的:我有一个窗体A里面有10个textbox控件,我想点一下按钮用for循环把这些text控件都清空.请告诉我该怎么弄,最好再加上说明。
回答者:lyglay
你说的那情况当按钮和控件都在同一窗口时能实现,但是我想要的是,控件在窗口A,按钮在窗口B,点了B的按钮A的空间就清空,谢谢

'如果控件命名是有规律的就很简单,一个循环搞定
Private Sub Command1_Click()
For i = 1 To 3 '我用了3个文本框,分别为Text1,Text2,Text3
'如果你的10个文本框分别是Text1到Text10,则直接把上面的3改为10即可
Me.Controls("Text" & i).Text = "" '控件名是Text1(2,3,4...,10)的就清空
Next i
End Sub

'无规则命名的话就要这个了,历遍控件
Private Sub Command2_Click()
For Each i In Me.Controls '历遍窗体上所有控件
If TypeOf i Is TextBox Then i.Text = "" '如果一个控件是TextBox,则清空它
Next
End Sub

===============================
//你说的那情况当按钮和控件都在同一窗口时能实现,但是我想要的是,控件在窗口A,按钮在窗口B,点了B的按钮A的空间就清空,

一回事啊,把me改成form1不就得了

利用集合.或者控件数组.
下面我演示下用集合,控件数组简单我就不说了.
Dim colTextBoxes As New Collection '在通用声明地方声明
'加载文本框到集合
Private Sub Form_Load()
Dim AnyTxt As Control
For Each AnyTxt In Controls
If (TypeOf AnyTxt Is TextBox) Then
colTextBoxes.Add AnyTxt, AnyTxt.Name
End If
Next AnyTxt
End Sub
'下面