VB编程,解释下下面这个程序各步骤意思啊

来源:百度知道 编辑:UC知道 时间:2024/06/02 06:32:43
Private Sub Command1_Click()
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

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
If b1 > 0 Then
For s1 = 1 To 5
If s1 <> b1 Then T1(s1).Text = "2"
Next
End If
End Sub
解释的可以啊~最后就是那个b1=0和那个b1>0 2个有什么用?能详细解释下么?感觉没起什么作用啊?

我来回答了~

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"即可。

______________________________________