vb中set的解释

 我来答
扭杏q
2011-06-06 · TA获得超过295个赞
知道小有建树答主
回答量:614
采纳率:100%
帮助的人:396万
展开全部

我来回答了~

Dim T1(1 To 5) As TextBox
Set T1(1) = Me.Text1
Set T1(2) = Me.Text2
Set T1(3) = Me.Text3
Set T1(4) = Me.Text4
Set T1(5) = Me.Text5
'上面这一段是为了方便下面的代码而写的,建立一个5个元素的TextBox类型对象引用,把Text1~Text5五个TextBox的引用分别赋值给T1(1)~T1(5),之后T1(1)就和Text1等价了。
这样就可以按数组进行访问了,比较方便。
因为之前你的题目中说的是Text1到Text5,因此我这样写以方便之后的使用。如果你在窗口中直接创建控件数组,就可以省略这一步,直接按Text1(a)这样访问就ok了。

Dim s1 As Long, b1 As Long
b1 = 0
For s1 = 1 To 5
If T1(s1).Text = "1" Then b1 = s1: Exit For
Next

'上面是一个循环,看T1(1)~T1(5),也就是Text1~Text5中谁的值是"1",把它的下标赋给b1。

循环完了之后,如果b1是0,则说明没有哪个TextBox的值为"1",如果不为0,则b1的值就是最后一个有"1"的TextBox的下标。

If b1 > 0 Then
For s1 = 1 To 5
If s1 <> b1 Then T1(s1).Text = "2"
Next
End If
'这个就简单了,如果b1不是0,循环,找不是b1下标的TextBox赋值为"2"即可。

______________________________________

再补充:
上面那个b1=0是我的编程习惯,定义完一个变量立刻初始化防止之后出问题(你如果用C++写过程序就知道了,VB还好)
后面那个b1>0是判断,如果没找到"1"的话,b1=0肯定就不会执行If语句中的代码,就不会给其它TextBox赋"2",只有b1>0了才说明找到了有"1"的TextBox,才给其它TextBox赋"2"。
完毕~
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式