以下代码是我通过主窗口判断Form3窗口的复选框来输出数据,可是选择一个复选可以,但我的Form3窗口还有一些这样的复选框,多了我不会写了判断了,请问该怎么改
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) = "56" 
ts(2) = "789" 
End If 
For i = list1.ListCount - 1 To 0 Step -1 tn(0) = 1 
tn(1) = 1 
tn(2) = 1n = 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) = 0 
tn(1) = 2 
tn(2) = 1
Check4的条件 
tn(0) = 3
tn(1) = 0 
tn(2) = 0 
请老师告诉我,这个按键判断合并代码将如何写,刚才把第一个样板照葫芦画瓢的分别改成Check2-Check4加在Check1下,却不好使,有时多选就完蛋了,请老师帮忙改一下

解决方案 »

  1.   

    把你想做什么详细描述一下
    把全部check的程序贴出来
      

  2.   

    Private Sub Command1_Click()
    For I = 0 To Form3.Controls.Count - 1
    If TypeOf Form3.Controls(I) Is CheckBox Then
       X=Form3.Controls(I).Value'取得CheckBox的值
    If x>0 Then
          Form3.Controls(I).BackColor = vbRed'你要做的事情
    else
    Form3.Controls(I).BackColor = RGB(12,200,236)'你要做的事情
       End If
    Next I
    End Sub