VB 过程太大的问题

Ifzs1=zz1ThenLabel2(i).BackColor=&HFF&Label2(i).ForeColor=&HFFFFFFLabel2(i).Caption=z... If zs1 = zz1 Then
Label2(i).BackColor = &HFF&
Label2(i).ForeColor = &HFFFFFF
Label2(i).Caption = zs1
i1 = 0
Else
Label2(i).BackColor = &HC0FFFF
Label2(i).ForeColor = &H404040
Label2(i).Caption = i1
End If
If zs1 = zz2 Then
Label3(i).BackColor = &HFF&
Label3(i).ForeColor = &HFFFFFF
Label3(i).Caption = zs1
i2 = 0
Else
Label3(i).BackColor = &HC0FFFF
Label3(i).ForeColor = &H404040
Label3(i).Caption = i2
End If
If zs1 = zz3 Then
Label4(i).BackColor = &HFF&
Label4(i).ForeColor = &HFFFFFF
Label4(i).Caption = zs1
i3 = 0
Else
Label4(i).BackColor = &HC0FFFF
Label4(i).ForeColor = &H404040
Label4(i).Caption = i3
End If
If zs1 = zz4 Then
Label5(i).BackColor = &HFF&
Label5(i).ForeColor = &HFFFFFF
Label5(i).Caption = zs1
i4 = 0
Else
Label5(i).BackColor = &HC0FFFF
Label5(i).ForeColor = &H404040
Label5(i).Caption = i4
End If
If zs1 = zz5 Then
Label6(i).BackColor = &HFF&
Label6(i).ForeColor = &HFFFFFF
Label6(i).Caption = zs1
i5 = 0
Else
Label6(i).BackColor = &HC0FFFF
Label6(i).ForeColor = &H404040
Label6(i).Caption = i5
End If
If zs1 = zz6 Then
Label7(i).BackColor = &HFF&
Label7(i).ForeColor = &HFFFFFF
Label7(i).Caption = zs1
i6 = 0
Else
Label7(i).BackColor = &HC0FFFF
Label7(i).ForeColor = &H404040
Label7(i).Caption = i6
End If
If zs1 = zz7 Then
Label8(i).BackColor = &HFF&
Label8(i).ForeColor = &HFFFFFF
Label8(i).Caption = zs1
i7 = 0
Else
Label8(i).BackColor = &HC0FFFF
Label8(i).ForeColor = &H404040
Label8(i).Caption = i7
End If
If zs1 = zz8 Then
Label9(i).BackColor = &HFF&
Label9(i).ForeColor = &HFFFFFF
Label9(i).Caption = zs1
i8 = 0
Else
Label9(i).BackColor = &HC0FFFF
Label9(i).ForeColor = &H404040
Label9(i).Caption = i8
End If
上面写不完,就是这样的判断语句共二千多条.用了一天的时间好不容易写完了.可是一执行就提示,过程太大.不能用,晕到.有没有方法简化这样的判断.谢谢.或者,如何可以设置过程行的大小值.
展开
 我来答
面包好好吃哦
2010-05-05 · TA获得超过412个赞
知道答主
回答量:293
采纳率:0%
帮助的人:0
展开全部
我建议你别写了,你的程序出发点好象就有问题,根据上千个zs1的不同取值来让上千个Label控件数组改变颜色和标题,一句话:有点傻。
我认为一个程序用到上千个控件数组都不太正常。
建议你重新思考你的问题找出简化的方法。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友6e017157
推荐于2018-05-17 · TA获得超过1046个赞
知道大有可为答主
回答量:2218
采纳率:50%
帮助的人:1251万
展开全部
哦。遇到过类似问题。呵呵
可以把过程拆分!
比如
//大约1000行
sub()
{print ""
...
print ""}
这样的话,过程太长,就会包报错。
修改如下:
//修改为每个子sub为300多行
sub1()
{print ""
....
print ""}
sub2()
{print ""
....
print ""}
sub3()
{print ""
....
print ""}
这样的话,
当你需要执行call sub()的话,替换为
call sub1()
call sub2()
call sub3()
就可以了。。。
好象sub不能超过500行!!!
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
钮发须古香
2019-12-21 · TA获得超过3669个赞
知道小有建树答主
回答量:3009
采纳率:25%
帮助的人:208万
展开全部
这个很简单
你把要additem的内容放到一个txt文件里,如1.txt
然后用
Dim
s
as
String
Open
App.path
&
"\1.txt"
for
Input
As
#1
Do
until
EOF(1)
Line
Input
#1,s
List1.Additem
s
Loop
Close
#1
就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Jack_CL
2010-05-05 · TA获得超过115个赞
知道答主
回答量:77
采纳率:0%
帮助的人:32.9万
展开全部
顶楼上的,换成select吧

if else end if效率太低了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
钮风忻方雅
2019-01-26 · TA获得超过3707个赞
知道小有建树答主
回答量:3090
采纳率:33%
帮助的人:409万
展开全部
Case
511
To
512
If
IsNumeric(recshap.Fields("id").ValueAsString)
and
val(recshap.Fields("id").ValueAsString)<6
Then
frmquery.Image2.Picture
=
LoadPicture("D:\延安空间信息系统数据\柱状图\硝酸盐\YH0"+recshap.Fields("id").ValueAsString
+".jpg")
else
Load
frmquery
frmquery.Show
frmquery.Refresh
End
If
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式