VB Check 控件数组问题

怎么做出来说溢出?DimnAsIntegerForn=0ToCheck1.Count-1Ifn<>IndexThenCheck1(n).Value=0ElseCheck1... 怎么做出来说溢出?
Dim n As Integer
For n = 0 To Check1.Count - 1
If n <> Index Then
Check1(n).Value = 0
Else
Check1(n).Value = 1
End If
Next n
在Check1_Click()里用的。
展开
 我来答
sailingzyf
2012-02-12 · TA获得超过1329个赞
知道小有建树答主
回答量:860
采纳率:0%
帮助的人:1057万
展开全部
你在Check1_Click事件里用了个循环,但是循环里面用设置check(n)的值,这样又会出发Check1_Click事件,这就相当于一个递归调用而且没有结束条件,最终递归次数过多导致堆栈溢出。
追问
以三个控件数组。对“For n = 0 To Check1.Count - 1”的“ Check1.Count - 1”设为3可行不?用什么能实现哦?
追答
3个控件,index是0到2,所以改成3不行。checkbox的value只要发生变化就会触发Click事件,所以想在单击中实现不行。参考楼上的方法,mouseup事件比较好用。
daviddyn
2012-02-12 · TA获得超过556个赞
知道小有建树答主
回答量:198
采纳率:0%
帮助的人:160万
展开全部
是不是你的Check控件的总数太多了?把变量n定义为Long试试?
更多追问追答
追问
就3个控件啊。一运行就说溢出
追答
因为CheckBox的Click事件是在CheckBox的对勾发生变化之后才产生的,所以你再定义该CheckBox的Value值,会使同一个语句执行无数遍直至溢出堆嵌空间。我在VB上试了,把你这部分代码改放在Check1_MouseUp(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)中,就能达到你的效果了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
syx54
2012-02-12 · TA获得超过7378个赞
知道大有可为答主
回答量:6567
采纳率:83%
帮助的人:2749万
展开全部
你好!我看了你的代码,似乎是想达到单选的功能,那为什么不用单选按钮呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式