VB里怎么检验好多CheckBox中哪些被选中
如果选中了,相应的TextBox输出相应的文字是不是用控件数组什么的?查了半天没查到到底该怎么做,哪位高手能给我个思路吗...
如果选中了,相应的TextBox输出相应的文字
是不是用控件数组什么的?查了半天没查到到底该怎么做,哪位高手能给我个思路吗 展开
是不是用控件数组什么的?查了半天没查到到底该怎么做,哪位高手能给我个思路吗 展开
4个回答
展开全部
根据楼上的思路,我推荐一种正好符合楼主需求的方案。(可以无限增加控件)
使用Select Case 的方法。函数详细说明请查询百度。这里直接贴了。
首先,建议将CheckBox和TextBox分别做成一个控件组。(先创建一个CheckBox,然后复制,系统会询问是否创建,点击是。你会看到CheckBox的名字变成CheckBox1(0)和CheckBox1(1),此时目标达成,TextBox也是同理,注意位置摆放的配对,控件摆放根据括号里的数字,一样的组成一对。)
Private Sub Check1_Click(Index As Integer)
Dim a As Integer
a = Check1(Index).Value‘获得被点击CheckBox1的返回值
If a = 1 Then’勾选
Select Case Index
Case 1‘数字代表括号里的数值
Text1(Index).Text = "选中"
Case 2
。。。
Case 3
。。。
无限添加
End Select
ElseIf a=0 Then
Text1(Index).Text = "未选中"
End If
使用Select Case 的方法。函数详细说明请查询百度。这里直接贴了。
首先,建议将CheckBox和TextBox分别做成一个控件组。(先创建一个CheckBox,然后复制,系统会询问是否创建,点击是。你会看到CheckBox的名字变成CheckBox1(0)和CheckBox1(1),此时目标达成,TextBox也是同理,注意位置摆放的配对,控件摆放根据括号里的数字,一样的组成一对。)
Private Sub Check1_Click(Index As Integer)
Dim a As Integer
a = Check1(Index).Value‘获得被点击CheckBox1的返回值
If a = 1 Then’勾选
Select Case Index
Case 1‘数字代表括号里的数值
Text1(Index).Text = "选中"
Case 2
。。。
Case 3
。。。
无限添加
End Select
ElseIf a=0 Then
Text1(Index).Text = "未选中"
End If
追问
我用的vs2008,复制不会出现提问的...
追答
那就用一个time控件,进行不间断地判断
dim a as long
dim i as long
on error resume next
for i = 1 to 100
a=check(i).value
if a = 1 then
text(i).text="选中"
exit sub
else
text(i),text="未选中"
end if
next
展开全部
直接判断CheckBox=1就输出文字
用控件数组就可以批量检验,提高程序的效率,原理是一样的
用控件数组就可以批量检验,提高程序的效率,原理是一样的
追问
对啊,我就想知道怎么建立这个数组啊,控件是已经建好了的,怎么添加到控件数组里去,是不是要一个一个加?还是控件数组都是在form load的时候建立,然后才建立的那些控件?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
定义一个全局变量 bChecked as long
在Form2代码中加入
Visual Basic code?
sub Form_Load
Check1.Value=bChecked
end sub
sub Form_Unload
bchecked=Check1.value
end sub
在Form2代码中加入
Visual Basic code?
sub Form_Load
Check1.Value=bChecked
end sub
sub Form_Unload
bchecked=Check1.value
end sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Private Sub Check1_Click(Index As Integer)
If Me.Check1(Index).Value = 1 Then
Me.Text1(Index).Text = "选中"
Else
Me.Text1(Index).Text = "未选中"
End If
End Sub
'这样行不
If Me.Check1(Index).Value = 1 Then
Me.Text1(Index).Text = "选中"
Else
Me.Text1(Index).Text = "未选中"
End If
End Sub
'这样行不
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询