vb题,不明白是哪里错了

来源:百度知道 编辑:UC知道 时间:2024/05/19 22:09:42
Private Sub Op1_Click()
Text1.Text = "坐" + Op1.Caption
End Sub

Private Sub Op2_Click()
Text1.Text = "坐" + Op2.Caption
End Sub

Private Sub Op3_Click()
For i = 1 To 2
If opi.Value Then
Text1.Text = "坐" + opi.Caption + "去" + Op3.Caption
End If
Next
End Sub

Private Sub Op4_Click()
For i = 1 To 2
If opi.Value Then
Text1.Text = "坐" + opi.Caption + "去" + Op4.Caption
End If
Next
End Sub
op1,2,3,4是单选按钮 op1的caption是汽车,op2是轮船,op3是青岛,op4是大连。text1是一个文本框,单击op1或者op2 表示坐火车还是轮船,单击op3或者op4表示去青岛还是大连。text1显示坐()去()

你用opi表示op1和op2是不行的,对象名称是纯文本,其中i不是变量。可以将单选框命名为op,Index属性分别为1、2、3、4,创建一个控件数组,然后用op(i)表示对应控件。

这个代码思路上就错了,实在不好修补了,我另起炉灶吧。
=====================
Dim A As String, B As String
Sub Sb()
Text1.Text = "坐" & A & "去" & B
End Sub

Private Sub Op1_Click()
A = op1.Caption
Sb
End Sub

Private Sub Op2_Click()
A = op2.Caption
Sb
End Sub

Private Sub Op3_Click()
B = op3.Caption
Sb
End Sub

Private Sub Op4_Click()
B = op4.Caption
Sb
End Sub

单击按钮的value是表示单击事件,不能代表状态。还有你可以用控件数组来做。