我是C#的新手,我试图获取复选框的状态。 I`ve完成:c#复选框验证状态
foreach (Control ctr in newProject.Controls) {
if (ctr is CheckBox && ctr.Name.Contains("engine")) {
}
}
ctr.Checked明显`吨的工作,我怎么能确认CTR的状态时,CTR是一个复选框?
我是C#的新手,我试图获取复选框的状态。 I`ve完成:c#复选框验证状态
foreach (Control ctr in newProject.Controls) {
if (ctr is CheckBox && ctr.Name.Contains("engine")) {
}
}
ctr.Checked明显`吨的工作,我怎么能确认CTR的状态时,CTR是一个复选框?
一旦你验证,这是一个复选框,就可以转换为正确的类型,并阅读Checked
属性:
foreach (Control ctr in newProject.Controls) {
if (ctr is CheckBox && ctr.Name.Contains("engine")
&& ((CheckBox)ctr).Checked) {
}
}
你必须先将其转换为一个复选框。
CheckBox chk = (CheckBox)ctr;
// Now you can do this: chk.Checked
您的复选框有一个ID,如checkBox1。您可以直接使用该ID访问复选框控件。
if (checkBox1.Checked) {
...
}
var checkBoxes = newProject.Controls
.OfType<CheckBox>()
.Where(x => x.Name.Contains("engine"))
.ToList();
foreach(var cb in checkBoxes)
{
if (cb.Checked)
// rest of your code...
}
如果你只在检查者感兴趣的话,请使用:
var checkBoxes = newProject.Controls
.OfType<CheckBox>()
.Where(x => x.Name.Contains("engine") && x.Checked)
.ToList();
这似乎是最好的答案! – trampi 2012-02-23 10:38:10
是循环槽控制,有很多复选框,单独验证每个复选框不是问题的目的 – 2012-03-15 13:37:59