一个简单的问题?请指点

fenglhua 2004-10-22 02:35:24
假如有text1,text2...text100个text,我想做一个for循环,把所有text都拿一遍,应该怎么做,用text[i]好像不行。
...全文
73 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
lyxhappy 2004-10-22
  • 打赏
  • 举报
回复
用控制数组,这样方便些
GGL123 2004-10-22
  • 打赏
  • 举报
回复
例:

Public Function ClearTextBox(frm As Form, Biaoshi As String)
'用于清空窗体中的textbox控件
'frm: 指定被清空的控件所在窗体
'Biaoshi: 指定被清空的控件Name属性的第一位字符,若不指定(为空或空格),则默认为清空窗体中所有textbox的text属性
'所有符合biaoshi的frm中的textbox控件text属性将全部被清空。
Dim ctl As Control
For Each ctl In frm
If TypeOf ctl Is TextBox Then
If Len(Trim(Biaoshi)) <> 0 Then
If Mid(ctl.Name, 1, 1) = Biaoshi Then
ctl.Text = ""
End If
Else
ctl.Text = ""
End If
End If
Next ctl
End Function
熊孩子开学喽 2004-10-22
  • 打赏
  • 举报
回复
另外,看到楼主居然要用到100个TEXT,这样做虽然可以,但是排版也会是一个很麻烦的事,试想一下,当楼主的程序想改变一下窗体的大小,可能就需要对这100个TEXT重新排位置,很麻烦的哦。
可是改成网格控件来做,比如:MSFLEXGRID等等,在VB的工具栏点右键,再点“部件”就可以选择并添加进去了。
adong1980 2004-10-22
  • 打赏
  • 举报
回复
如果要用到100个文本的话,程序是不是会散架掉呀
fredlin 2004-10-22
  • 打赏
  • 举报
回复
为什么不用控件数组?
熊孩子开学喽 2004-10-22
  • 打赏
  • 举报
回复
控件数组不是这样定义的。
你先将窗体上的TEXT都删掉,添加一个新的TEXT1,点住它按CTRL+C再按ctrl+v,就和平常拷贝粘贴一样,这时VB会提醒你是否要建控件数组,选是。按几下CTRL+V就会添加几个,你可以看到这些粘贴出来的TEXT控件的名字都是一样的,都叫TEXT1,区别只是它们的INDEX属性不同,这个INDEX就是你需要用的TEXT1(INDEX)了,不知道这样说,楼主是否明白了。
当控件数组创建好之后,使用就非常方便了比如:要给每一个TEXT清空内容:
dim I as long
dim L as long
I = text1.count '获得TEXT控件数组的数量
for L=0 to I-1 '因为下标是从0开始的,所以循环最终值是I-1
text1(l).text="" '清空该控件的内容
next
a达哥a 2004-10-22
  • 打赏
  • 举报
回复
做成控件数组就可以了, Text1(0), Text1(1)...

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧