C#复选框控制
书上的一段代码大意是八个复选框最多选3个感觉后面一段else语句完全没必要啊没选还要-1这样不就最多选的个数超过3个了吗求大神解答publicinti=0;private...
书上的一段代码 大意是八个复选框最多选3个 感觉后面一段else语句完全没必要啊 没选还要-1
这样不就最多选的个数超过3个了吗 求大神解答
public int i = 0;
private void checkBox1_CheckChanged(object sender ,EventArgs e)
{
if (checkBox1.Checked == true)
i++;
if(i>3)
{checkBox1.Checked = falase;
MessageBox.show("最多选三项");}
else{i--;}
} 展开
这样不就最多选的个数超过3个了吗 求大神解答
public int i = 0;
private void checkBox1_CheckChanged(object sender ,EventArgs e)
{
if (checkBox1.Checked == true)
i++;
if(i>3)
{checkBox1.Checked = falase;
MessageBox.show("最多选三项");}
else{i--;}
} 展开
2个回答
展开全部
有必要的。
如果你想让一个选中的checkbox从选中变成不选中。所以需芹薯槐要有手戚这个else。
但是这个else的位置。从你给出的代码来看,应该是位置错了。应该放在
if (checkBox1.Checked == true)
{
i++;
if(i>3)
嫌友 {
checkBox1.Checked = false;
MessageBox.show("最多选三项");
}
}
else{i--;}
追问
这个checkchanged函数每次改变勾选/不勾选时都会有作用吗?
追答
是的。
展开全部
给你正解。
因为如果没有这个没旅else i--,但用户不停的勾选的时候,i会一直累加,咐察裂比如累加到10.
这个时候用户把所有的checkBox的勾选状态都点成不勾选状态,这个时候i的值绝对大于3,那么用户在再次点击没选中状态的checkBox时,你上面的这个函数就会判断i>3并拒绝他勾选。
对于用户来说,他会发现,自己一个都没选中,但却都不能勾选。
“你不是说可以选3个衡闭的吗?”用户傻傻地问道。
因为如果没有这个没旅else i--,但用户不停的勾选的时候,i会一直累加,咐察裂比如累加到10.
这个时候用户把所有的checkBox的勾选状态都点成不勾选状态,这个时候i的值绝对大于3,那么用户在再次点击没选中状态的checkBox时,你上面的这个函数就会判断i>3并拒绝他勾选。
对于用户来说,他会发现,自己一个都没选中,但却都不能勾选。
“你不是说可以选3个衡闭的吗?”用户傻傻地问道。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询