我正在开发一个Windows应用程序,我想知道循环查看checkBox
数组的方法是什么,看它们是否被选中,并有一个消息框来显示检查的内容。
这是我正在使用的代码。
CheckBox[] myCheckBoxArray = new CheckBox[6];
myCheckBoxArray[0] = checkBoxALL;
myCheckBoxArray[1] = checkBoxA;
myCheckBoxArray[2] = checkBoxB;
myCheckBoxArray[3] = checkBoxC;
myCheckBoxArray[4] = checkBoxD;
myCheckBoxArray[5] = checkBoxE;
foreach(var items in myCheckBoxArray)
{
if(myCheckBoxArray.Checked)
{
MessageBox.Show(items);
}
}
答案 0 :(得分:2)
您可以使用linq:
foreach(var checkedItem in myCheckBoxArray.Where(item => item.Checked))
{
MessageBox.Show(checkedItem);
}
答案 1 :(得分:2)
您正在遍历myCheckBoxArray
,其中items
代表数组中的每个项目,因此您必须check whether the item is checked or not
而不是myCheckBoxArray.Checked。所以你的代码将如下所示:
foreach(var items in myCheckBoxArray)
{
if(items.Checked)
{
//Do your stuff here
}
}
答案 2 :(得分:2)
不要循环未检查的项目。
var checkeeditems=myCheckBoxArray.where(p=>p.Cheked).toList();
foreach(var Name in checkeeditems)
{
MessageBox.Show(Name );
}
答案 3 :(得分:1)
在示例代码中,您循环访问mycheckboxarray,但是您正在检查myCheckBoxArray的Checked属性而不是item。您可以如下更改代码,它将为您提供所需的结果。
foreach (var checkbox in myCheckBoxArray)
{
if (checkbox.Checked)
{
MessageBox.Show("this one is checked");
}
}