【发布时间】:2012-11-01 09:12:59
【问题描述】:
我在一个面板内有几个复选框和一个按钮,在一个 tabPage 内,在一个 WinForm C# 应用程序内。
我要做的是确保至少选中一个复选框,以便使按钮可点击,否则按钮将被禁用(灰色显示不可点击)。
我尝试了这个(在Form_Load 事件中),但没有成功:
int counter = 0;
foreach (Control p in tabPage1.Controls)
{
if (p is Panel)
{
foreach (Control c in panel1.Controls)
{
if (c is CheckBox)
{
if (((CheckBox)c).Checked)
{
counter++;
}
if (counter < 1)
{
button1.Enabled = false;
}
else
{
button1.Enabled = true;
}
}
}
}
}
要么是我使用了错误的事件或放错了代码的地方,要么是代码本身不正确,请大家看看?
【问题讨论】:
-
为什么不改用CheckedListBox?然后就像获取
CheckedListBox1.CheckedItems.Count一样简单。
标签: c# winforms checkbox count