vb新手提问请高手多多指教

来源:百度知道 编辑:UC知道 时间:2024/09/23 03:03:10
Private Sub Command20_Click()

Dim i&, j&, m&, tn&(2), ts$(2), n() As Byte

ts(0) = "01234"
ts(1) = "56789"
ts(2) = ""

For i = list1.ListCount - 1 To 0 Step -1
If Form3.Check1.Value = 1 Then
tn(0) = 3
tn(1) = 0
tn(2) = 0
End If
If Form3.Check2.Value = 1 Then
tn(0) = 2
tn(1) = 1
tn(2) = 0
End If

n = StrConv(list1.List(i), 128)

For j = 0 To 2
For m = 0 To 2
If InStr(ts(m), Chr(n(j))) > 0 Then tn(m) = tn(m) - 1
Next
Next
If tn(0) = 0 And tn(1) = 0 And tn(2) = 0 Then Else list1.RemoveItem i

Next
End Sub
这个代码为什么单独选一个复选好使,选择两个就会只显示Check2的数据呢,修改什么语句能使选择两个后,两个数据都显示呢
你的代码本身就有问题,当执行完第一个检查以后,还继续检查第二个有没有被选,结果你两个都选了,当然是显示最后一个数据了. 这个我知道,但是就是改不好。
如果向楼下所说,那么单选将来不是失效了吗

你的代码本身就有问题,当执行完第一个检查以后,还继续检查第二个有没有被选,结果你两个都选了,当然是显示最后一个数据了.

你不要用同样的数组来装这两组数据,你用两个数组来装两组数据,那就可以了.

你也可以把if Form3.Check1.Value = 1 and Form3.Check2.Value = 1 then ..放在前面.

晕,你单选能一次选两个吗?这个代码可以检查如果两个都选了,先做什么,后做什么.