繁体   English   中英

编程技巧测试器(问题)v2.0

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM