Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如果复选框列表未选中,则显示警报消息#_C#_Checkbox - Fatal编程技术网

C# 如果复选框列表未选中,则显示警报消息#

C# 如果复选框列表未选中,则显示警报消息#,c#,checkbox,C#,Checkbox,我有一个存储在数组中的复选框列表。假设我有6个复选框,如果没有选中任何一个复选框,它将在消息框中显示一条消息,说“不允许使用空字段。我知道如何执行此操作,但它似乎不正确。我们将感谢您的帮助。” 这是我的密码 private void checkBox1_CheckedChanged(object sender, EventArgs e) { CheckBox[] mySecondaryCheckBoxArray = new CheckBox[6];

我有一个存储在数组中的复选框列表。假设我有6个复选框,如果没有选中任何一个复选框,它将在消息框中显示一条消息,说“不允许使用空字段。我知道如何执行此操作,但它似乎不正确。我们将感谢您的帮助。”

这是我的密码

   private void checkBox1_CheckedChanged(object sender, EventArgs e)
        {
            CheckBox[] mySecondaryCheckBoxArray = new CheckBox[6];

            mySecondaryCheckBoxArray[0] = secondaryCheckBox1;
            mySecondaryCheckBoxArray[1] = secondaryCheckBox2;
            mySecondaryCheckBoxArray[2] = secondaryCheckBox3;
            mySecondaryCheckBoxArray[3] = secondaryCheckBox4;
            mySecondaryCheckBoxArray[4] = secondaryCheckBox5;
            mySecondaryCheckBoxArray[5] = secondaryCheckBox6;


                //if check box "ALL" is checked, disable the other check box
                foreach(CheckBox secondaryCB in mySecondaryCheckBoxArray)
                {
                    if(secondaryCheckBoxALL.Checked== true)
                    {
                        secondaryCB.Enabled = false;
                    }else
                    {
                        secondaryCB.Enabled = true;
                    }

                }


        }

    //button name call button1
     private void button_Click(object sender, EventArgs e)
        {
         //When this button is clicked, it checked if all the checkbox is checked. If not, display an message in the message box

          CheckBox[] myConfirmSecondaryCheckBoxArray = new CheckBox[6];

            myConfirmSecondaryCheckBoxArray[0] = classCheckBoxALL;
            myConfirmSecondaryCheckBoxArray[1] = classCheckBoxA;
            myConfirmSecondaryCheckBoxArray[2] = classCheckBoxB;
            myConfirmSecondaryCheckBoxArray[3] = classCheckBoxC;
            myConfirmSecondaryCheckBoxArray[4] = classCheckBoxD;
            myConfirmSecondaryCheckBoxArray[5] = classCheckBoxE;

           //Check for loop
           foreach (CheckBox secondaryCB in myConfirmSecondaryCheckBoxArray)
            {   
                //This part doesn't work because the message box showed up 6                  times
               if (secondaryCB.Check ==false)
                {
                    MessageBox.Show("Empty field not allowed");
                }
            }



       }

测试可以是这样的(Linq):

您还可以简化其他代码,例如

  ...
  secondaryCB.Enabled = myConfirmSecondaryCheckBoxArray.Any(checkBox => checkBox.Checked);

测试可以是这样的(Linq):

您还可以简化其他代码,例如

  ...
  secondaryCB.Enabled = myConfirmSecondaryCheckBoxArray.Any(checkBox => checkBox.Checked);
你可以用

未对其进行测试,但应能正常工作

您可以使用


没有测试过,但它应该可以工作

谢谢,这项工作很完美。我不确定你使用的第二行的目的是什么。你能简单解释一下它的作用吗?谢谢,这项工作很完美。我不确定你使用的第二行的目的是什么。你能简单解释一下它的作用吗?谢谢
if(myConfirmSecondaryCheckboxArray.Any(e => !e.Checked))
    MessageBox.Show("Empty field not allowed");