-
您是否在窗体上有一个包含十个 text1(1) text1(10) 和一个 text2 的文本框控件数组,然后您需要在 text2 中输入 5,因此 text1(6) 和 text1(10) 的可见性变为 false?
只需要进行一次更改。
将 if text1 > i 替换为 。
if text1(i).文本<那么如果 text1>i 在这里,那么您的原始程序应该是问题所在。
你要比较的是 text1 控制数组的内容,那么你必须指定索引号,否则与数组名称进行比较是没有意义的,循环中的 i 应该依次表示数组的索引号,而不是你需要比较的内容大小,你应该和 text2 的内容进行比较才有意义。
-
您需要使用此程序执行的操作应该是隐藏 text2 中数字下方的所有数组。
但是您的程序中存在两个问题:
1. if text1 > i then
text1 这里是一个数组,所以如果直接运行会出错,应该根据你的理解改成 text2;
2.改为:如果 text2 > i 那么当结果不正确时,当输入 2 和 2 以上的数字时,text1(10) 会被隐藏,这是因为,你的程序是和 i 比较的,而不是 val (,注意这是一个字符串,比较不匹配 i,就好像 i 也被转换到字符串中进行比较一样。
所以"2"大于"10"完成。
-
最好让控件数组是文本,然后你先在表单上放一个text1,名字可以改,随便什么,但是你需要把它的索引属性修改为0(当然其他数字也可以,但建议用0),这是你的文本数组的第一个控件。
在程序内部,使用 load 方法直接调用第二个和第三个,..
例如,加载 text1(1)。
text1(1).left=10
text1(1).top=20
text1(1).text="测试添加控件"
text1(1).visible=true,以便您可以看到第二个控件。
你试试。
-
应执行此操作:将启动的控件的 index 属性设置为 0,将稍后创建的控件的名称更改为与上一个控件的名称相同,并将其 index 属性设置为 1。
-
点击“否”后是否有可能不弹出提示?。。。为什么我只是复制并粘贴它,它就会重新出现......
-
楼上应该很亲切。
dima()
asstring
redima(len(
asstring
fori=0
tolen(
a(i)=mid(,i+1,1)
接下来补充:不知道你是不是用vb调试,是不是忘了加控件了?,我在知道的答案肯定是先调试再回答,如果还是不行,你就把下面***中间的***复制到一个文本文件中重命名,加一个()打印出来**
version
beginform1
caption
form1"
clientheight
clientleft=60
clienttop
clientwidth
linktopic
form1"
scaleheight
scalewidth
startupposition=3
该窗口是默认窗口。 begin
text1height
lefttabindex=1
text"text1"top=
widthendbegin
command1
caption
command1"
height
lefttabindex=0
top=360width
endend
attribute
vb_name
form1"
attribute
vb_globalnamespace
falseattribute
vb_creatable
falseattribute
vb_predeclaredid
trueattribute
vb_exposed
falseprivate
subcommand1_click()
dima()
asstring
redima(len(
asstring
fori=0
tolen(
a(i)mid(,i+
nextfori=0
toubound(a)
printa(i)
nextendsub
-
同意二楼的说法,什么人一楼。
-
首先添加一个。
标签,在属性中将索引设置为 0
添加压力机。
将 ** 添加到内部按钮。
I = 1 至 2 的容量
load label1(i)
label1(i).left = label1(i - 1).left + label1(i - 1).width + 100
label1(i).visible = truenext
-
第一种是QW623577789方法。
第二个,有一个。
改变内部零件方向的方法解决了容量问题。
dim lbl(5) as
for i = 0 to 5
set lbl(i) = "", "mylabel" & i)with lbl(i)
top = 100 + i * 1000.caption = i
visible = true
end with
next
-
例如,将多个文本框转换为与要为其赋值的数组相对应的小部件数组要容易得多(假设文本框数组名为 text1,数组为 a())。
for i = 0 to ubound(a)text1(i).text = a(i)
next如果文本框不是小部件数组,那就比较麻烦了,必须一个一个地赋值。 如果文本框的名称是常规的,例如 text1、text2、text3 ......而且数字是连续的,所以可以是这样的(这是一种非常规的用法):
for i = 0 to ubound(a)controls("text" & i + 1).text = a(i)
NEXT强烈建议尽可能多地使用一系列控件,因为它不仅运行速度更快,而且可以节省系统资源。
-
private sub form_load()dim i as integer
for i = 1 to 3
load text1(i) '加载控制数组 text1(i)。left = text1(i - 1).lefttext1(i).
top = text1(i - 1).top + 500
text1(i).visible = true '让它显示下一个 i
end sub
private sub form_unload(cancel as integer) '
dim i as integer
for i = 1 to
unload text1(i) '下次退出时卸载控件数组
end sub
-
相同类型的小组件必须属于同一类型才能形成小组件数组,例如两个文本框或两个列表框,如果让文本框和列表框形成数组,则会报告错误。
-
不知道你想要哪一个 1 或 2?
1,private sub label1_click(index as integer)
text1(index).visible = trueend sub
2,private sub label1_click(index as integer)
dim i as integer
for i = 0 to
text1(i).visible = falsenext i
text1(index).visible = trueend sub