2009-08-14 21 views
1

Ich habe 2 Kontrollkästchen, ich möchte wissen, wie man diese zu verwalten: Wenn man überprüft wird, tun Sie das, wenn der andere überprüft wird, tun, wenn beide aktiviert sind, beide Aktionen.Checkbox Validierung

Auch wenn keine überprüft werden und ich auf die Schaltfläche klicken, um die Aktion durchzuführen, sollte es "Bitte überprüfen Sie eine der Optionen oder beides."

Vielen Dank für Ihre Zeit

-Summey

Antwort

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!"); 
} 
+0

ahhh ok ok ok ich das Recht habe, aber Ich habe es nicht getan! checkbox1.check ed ich vermisste das!. Danke, – partialdata

1

Ich glaube, Sie so etwas wie dies wünschen würde:

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."); 
     } 
    } 
+0

yeah das ist, was ich nach und dies sollte funktionieren, wenn sie beide auch überprüft werden. Danke – partialdata

0

im Ereignishandler für die Schaltfläche, nur überprüfen, die Schaltflächen werden tatsächlich überprüft, dh:

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

Auch;

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

+1 für Prägnanz – Skeolan

0

Statt die Check-Box-Funktionalität der Durchführung auf der Schaltfläche klicken, um das OnCheckedChanged Ereignis der Check-Box nutzen könnte und setzen Autopostback auf true, in ASP.NET. Dann können Sie die Checkbox-Aktionen automatisch ausführen und die Datenüberprüfung für das Button-Klick-Ereignis durchführen.

(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 
} 

Knopf Click Event

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