vb 关于复选框的问题请老师帮忙

来源:百度知道 编辑:UC知道 时间:2024/05/08 19:17:32
以下代码
Private Sub Command20_Click()
If Form3.Check1.Value = 1 Then
Dim i&, j&, m&, tn&(2), ts$(2), n() As Byte

ts(0) = "01234"
ts(1) = "56789"
ts(2) = " "
End If
For i = list1.ListCount - 1 To 0 Step -1

tn(0) = 3
tn(1) = 0
tn(2) = 0

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

是Check1的条件,我还有Check2-Check4个复选框
Check2的条件是
tn(0) = 2
tn(1) = 1
tn(2) = 0
Check3的条件
tn(0) = 1
tn(1) = 2
tn(2) = 0
Check4的条件
tn(0) = 0
tn(1) = 3
tn(2) = 0
请老师告诉我,这个合并代码将如何写,刚才把第一个样板照葫芦画瓢的分别改成Check2-Check4加在Check1下,却不好使,有时多选就完蛋了,请老师帮忙改一下
如果用组,那么判断代码该怎么写呢,是不是还是用单个的比较好呢,
因为将来这样的新窗口判断还有很多呢,C

Check2的条件是
tn(0) = 2
tn(1) = 1
tn(2) = 0
Check3的条件
tn(0) = 1
tn(1) = 2
tn(2) = 0
Check4的条件
tn(0) = 0
tn(1) = 3
tn(2) = 0

注意观察 tn(2)=0 是一样的....
还有就是用 控件数组!
判断符合 2,3,4 的
if tn(2)=0 or tn(0)=1 or tn(0)=2 or tn(0)=3then
if tn(1)=3 then
msgbox "结果是" Check(tn(1)+1) 自己观察 tn(1) 和 check的数字关系
是少 1 的关系明白了吧
end if
end if

如果是判断那简单,我就对判断部分回答
Check2的条件是
tn(0) = 2
tn(1) = 1
tn(2) = 0
Check3的条件
tn(0) = 1
tn(1) = 2
tn(2) = 0
Check4的条件
tn(0) = 0
tn(1) = 3
tn(2) = 0

注意观察 tn(2)=0 是一样的....
还有就是用 控件数组!
判断符合 2,3,4 的
if tn(2)=0 or tn(0)=1 or tn(0)=2 or tn(0)=3then
if tn(1)=3 then
msgbox "结果是" Check(tn(1)+1) 自己观察 tn(1) 和 check的数字关系
是少 1 的关系明白了吧
end if
end if