我是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