[英]Programming Skill Tester (Problem) v2.0
如果您还没有阅读第一个问题,请一定要赶上速度。 现在,我该如何清除这些复选框? 我尝试使用@colithium告诉我用于检查所有复选框状态的相同方法,但是当我运行程序并单击清除时,出现以下运行时错误:
无法将类型为“ System.Windows.Forms.Button”的对象转换为类型为“ System.Windows.Forms.CheckBox”的对象。
我猜您正在所有控件上运行一个foreach,却忘记查看该控件是否实际上是一个复选框。
foreach (Control c in this.Controls) {
CheckBox cb = c as CheckBox;
if (cb!=null) {
//do your logic
}
}
将CheckBox.Checked设置为false。 如果那不是您所需要的,请在问题中提供更多信息。
我假设您的方法如下所示:
private void clearButton_Click(object sender, EventArgs e)
{
CheckBox cb = (CheckBox)sender;
cb.Checked = false;
}
在这种情况下,“发件人”是清除按钮,而不是复选框。 借用Stormenet的答案:
private void clearButton_click(object sender, EventArgs e)
{
foreach (Control c in this.Controls)
{
CheckBox cb = c as CheckBox;
if (cb != null)
{
cb.Checked = false;
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.