在momain模块中我定义:public x() as control
public number as integer
在窗体sb中我动态生成控件,在窗体声明部分dim startvalue as integer'用来保留number的初值
1、1、在sb窗体初始化时:startvalue=number+1'也就是添加控件时,设置数组的指针,从哪个开始
redim preserve x(0 to number) as control '重设数组,并保留原值,其中number是要变的
2、dim xtop(0 to 50) as integer
xtop(0)=100
for i=startvalue to number
Set newcontrol = Controls.Add"Forms.Label.1")
newcontrol.Height = 20
newcontrol.Left = 100
newcontrol.top = x(i- 1) + 20
x(i) = newcontrol.top
newcontrol.Width = 60
newcontrol.Caption = " " + CStr(i) + " "
Set x(i) = newcontrol
next i
在其它模块中重设number的值,再一次让sb.show,再重复上面的3个步骤,当然这一次的number是比第一次的值大。
在又一个模块中,我想显示已经生成的控件的caption属性:
for i=1 to number
msgbox "控件的caption属性为:"&x(i).caption'错误就出在这里:自动化错误!这可怎么改呢?????
next i
体会说完了,但是我还想跟各位兄弟讨论一个问题,下面这段文字什么意思:
下面的语法将返回在设计阶段添加的控件的 Text 属性。
userform1.thebox.text
若在运行时(什么意思????)添加一个控件,必须用惊叹号(什么意思???)语法引用该控件的属性。例如,返回在运行时添加的控件的 Text 属性,用下面的语法:
userform1!thebox.text