VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)

VB爱好者乐园(VBGood)

 找回密码
 立即注册
搜索
查看: 246|回复: 3

[求助] 如何循环Text1到Text17创建多个数组控件?(解决)

[复制链接]
发表于 2018-9-19 16:53:20 | 显示全部楼层 |阅读模式
本帖最后由 sblisb 于 2018-9-19 23:15 编辑

我在窗体上创建了Text1(00到Text17(0)17个文本框,单个文本框动态创建我会了,用如下代码

For i = 1 To 26
    Load Text1(i) ' 这句是关键,,,,,
            Text1(i).Top = Text1(i - 1).Top + Text1(i - 1).Height + 200
             Text1(i).Visible = True
    Next
可如何把17个文本框都创建26个数组控件呢?能再加个循环从1-17吗?还是只能一个个写?

点评

这个代码看起来没问题,但是Left属性应该也设置一下  发表于 前天 12:08
 楼主| 发表于 2018-9-19 23:14:00 | 显示全部楼层


不同标识符的控件数组,需要写不同的代码段。
可以自己封装一个函数,负责加载控件,每次把控件名传递进去。

Public Sub addtextbox(tb As Object)
'经测试,只有 object 类型才能接受控件数组做为参数
Dim I As Long
'循环体代码照你的抄的
For I = 1 To 26
    Load tb(I) ' 这句是关键,,,,,
    tb(I).Top = tb(I - 1).Top + tb(I - 1).Height + 200
    tb(I).Visible = True
Next
End Sub


调用代码,有几组控件,就要写几个,这里写了二行
Call addtextbox(Text1())
Call addtextbox(Text2())
通过以上代码解决,注意每个控件要设置index值为0,要不会报错,错误提示为
“实时错误'344',
必须为对象数组指定索引”
回复 支持 反对

使用道具 举报

发表于 2018-9-20 08:56:07 | 显示全部楼层
控件写个索引26,你就可以直接操作26个控件对象了。不用创建。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

文字版|手机版|小黑屋|VBGood  

GMT+8, 2018-10-17 02:12

VB爱好者乐园(VBGood)
快速回复 返回顶部 返回列表