vb 如何用窗体的controls属性 引用控件组的成员

goodman0710 2010-04-15 02:49:50
如遍列 text(0).....text(9)

我要实现一个通用的自动调用控件组各个控件的相关的功能

不要回复用 for each 和 for 这个我知道

代码示列如下

for i=0 to 9
s="text(" & i & ")"
controls(s).text=i
next i
可总是说找不到text控件


...全文
469 12 打赏 收藏 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
goodman0710 2010-04-18
  • 打赏
  • 举报
回复
10楼 的ldy888 正解 要的就是这是个答案
原来是括号放在controls的外面, 我怎么没想不到 谢谢

也要谢谢chenjl1031提供的一些思路,这里高手真多.


东方之珠 2010-04-15
  • 打赏
  • 举报
回复
测试了一下,在我的电脑里:
Me.Controls("Text1").Text = 100'这个可以运行
Me.Controls("Text1(0)").Text = 100'这个运行不了
也许其它VB6版本可以!
ldy888 2010-04-15
  • 打赏
  • 举报
回复
for i=0 to 9
controls("text")(i).text=i
next i
goodman0710 2010-04-15
  • 打赏
  • 举报
回复
文本框控件组就是TEXT
我试过,改为TEXT1,代码相应改过后还是同样的错误
chinaboyzyq 2010-04-15
  • 打赏
  • 举报
回复
看你的文框数组名(Name)是否叫text还text1或别的。

写出你的文本框的Name,给大家看看。

for i=0 to 9
s="text(" & i & ")"
controls(s).text=i
next i
这个程序应该可以通过。
东方之珠 2010-04-15
  • 打赏
  • 举报
回复
Dim i As Long
For i = 0 To Controls.Count - 1
If InStr(1, Me.Controls(i).Name, "Text1") > 0 Then
Me.Controls(i).Text = i
End If
Next
lliai 2010-04-15
  • 打赏
  • 举报
回复
For I = 0 To Me.Controls.Count - 1
If (TypeOf Me.Controls(I) Is TextBox) Then
if (CInt(Trim(Me.Controls(I).Tag))=x) then
。。。。。。
end if
End If
Next I
把控件的TAG属性利用上。可以是与INDEX属性对应。
X为你要查找的控件序号。
。。。为你的相关操作。
chinaboyzyq 2010-04-15
  • 打赏
  • 举报
回复
s=me("text(" & i & ")")
goodman0710 2010-04-15
  • 打赏
  • 举报
回复
楼上两位回复都不是我要的
东方之珠 2010-04-15
  • 打赏
  • 举报
回复
Dim i As Long
For i = Text1.LBound To Text1.UBound
Text1(i).Text = i
Next
Fanks 2010-04-15
  • 打赏
  • 举报
回复
很久不用VB了,大概就是这样的吧。

For Each control In controls
If control.name = "text" Then
control.text=control.index
END IF
NEXT

1,453

社区成员

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

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