复选框验证

时间:2009-08-14 16:26:42

标签: c# checkbox

我有2个复选框,我想知道如何管理这些:如果检查了一个,那么,如果检查了另一个,那么,如果两个都被检查,请同时执行这两个操作。

此外,如果没有选中,我单击按钮执行操作,它应显示“请检查其中一个选项或两者。”

感谢您的时间

-Summey

5 个答案:

答案 0 :(得分:8)

if (!checkBox1.Checked && !checkBox2.Checked)
{
    MessageBox.Show("Please select at least one!");
}
else if (checkBox1.Checked && !checkBox2.Checked)
{
    MessageBox.Show("You selected the first one!");
}
else if (!checkBox1.Checked && checkBox2.Checked)
{
    MessageBox.Show("You selected the second one!");
}
else //Both are checked
{
    MessageBox.Show("You selected both!");
}

答案 1 :(得分:4)

也;

if(checkBox1.Checked || checkBox2.Checked)
{
  if(checkBox1.Checked) doCheckBox1Stuff();
  if(checkBox2.Checked) doCheckBox2Stuff();
}else {
  MessageBox.Show("Please select at least one option.");
}

答案 2 :(得分:1)

我想你想要这样的东西:

    private void button1_Click(object sender, EventArgs e) {
        if (checkBox1.Checked) {
            Console.WriteLine("Do checkBox1 thing.");
        }
        if (checkBox2.Checked) {
            Console.WriteLine("Do checkBox2 thing.");
        }
        if (!checkBox1.Checked && !checkBox2.Checked) {
            Console.WriteLine("Do something since neither checkBox1 and checkBox2 are checked.");
        }
    }

答案 3 :(得分:0)

在按钮的事件处理程序中,只需验证实际检查了哪些按钮,即:

if ( myCheckBox1.Checked && myCheckBox2.Checked )
{
    // Do action for both checked.
}

答案 4 :(得分:0)

而不是在按钮单击上执行复选框功能,您可以使用复选框的OnCheckedChanged事件并在ASP.NET中将AutoPostBack设置为true。然后,您可以自动执行复选框操作,并在按钮单击事件上执行数据验证。

(的WinForms)

private void checkbox1_CheckedChanged(object sender, EventArgs e)
{
    //Execute method
}

(ASP.NET)

<asp:CheckBox ID="checkbox" runat="server" OnCheckedChanged="checkbox_OnCheckedChanged" AutoPostBack="true" />

private void checkbox_OnCheckedChanged(object sender, EventArgs e)
{
    //Execute method
}

按钮点击活动

protected void button_onclick(object sender, EventArgs e)
{
    if (!checkbox1.Checked || !checkbox2.Checked)
        MessageBox.Show("Error"); 
}