vb 请问多个复选框的问题
PrivateSubCommand20_Click()Dimi&,j&,m&,tn&(2),ts$(2),n()AsBytets(0)="01234"ts(1)="567...
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
这个代码为什么单独选一个复选Check1或者Check2好使,选择两个Check2和Check1都画对号就会只显示Check2的数据呢,修改什么语句能使选择两个后,两个数据都显示呢,比如但选Check1输出012,单选Check2输出016,两个都选。输出012
016
一楼的说的对,但是,我就不知道,怎么才能把两个结果都显示在list中,这个代码都改小半天了,还是没改好,二楼的老师,我所说的不是具体的016,012,是Check1和Check2,计算的结果,比如Check1的结果可能有20个,的结果可能有8个,我就是想让两个复选如果都被选中后,在list中显示这28个结果,因为现在的单独选择一个复选是好使的, 展开
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
这个代码为什么单独选一个复选Check1或者Check2好使,选择两个Check2和Check1都画对号就会只显示Check2的数据呢,修改什么语句能使选择两个后,两个数据都显示呢,比如但选Check1输出012,单选Check2输出016,两个都选。输出012
016
一楼的说的对,但是,我就不知道,怎么才能把两个结果都显示在list中,这个代码都改小半天了,还是没改好,二楼的老师,我所说的不是具体的016,012,是Check1和Check2,计算的结果,比如Check1的结果可能有20个,的结果可能有8个,我就是想让两个复选如果都被选中后,在list中显示这28个结果,因为现在的单独选择一个复选是好使的, 展开
2个回答
展开全部
两个都选的话,你在判断复选框是否被选中时,Check2.Value = true时tn已经改变了Check1.Value = true时tn的值。
你把给list赋值的语句分别写在if语句里(check选中判断语句)不就行了么
你把给list赋值的语句分别写在if语句里(check选中判断语句)不就行了么
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询