Casilla de verificación en la aplicación de Windows C#

Tengo 3 casillas de verificación y puedo desactivar dos de ellas si una está marcada. Pero quiero que si se marca el tercero, los dos primeros se apaguen. ¿Cómo puedo hacer eso?

Esto es lo que estoy intentando.

private void chkResFoodVeg_CheckedChanged(object sender, EventArgs e)
{
    //disables the other checkbox if one is checked
    this.chkResFoodNveg.Enabled = !this.chkResFoodVeg.Checked;
}

private void chkResFoodNveg_CheckedChanged(object sender, EventArgs e)
{
    this.chkResFoodVeg.Enabled = !this.chkResFoodNveg.Checked;
}

private void chkResFoodBoth_CheckedChanged(object sender, EventArgs e)
{
    this.chkResFoodBoth.Enabled = !this.chkResFoodNveg.Checked &&
   !this.chkResFoodVeg.Checked;
}

La última parte del código no funciona. Debería desactivar las dos primeras casillas de verificación.

Muchas Gracias

preguntado el 16 de septiembre de 13 a las 00:09

¿Parece que en realidad solo quieres usar botones de opción? -

Utilice el método Click() en estos en su lugar. O haga lo que sugirió @RyanCavanaugh y use botones de radio, ya que parece que está reinventando la rueda. -

Gracias, usaré los botones de radio. -

2 Respuestas

Su lógica es al revés, necesita dos asignaciones que no combinen las entradas.

private void chkResFoodBoth_CheckedChanged(object sender, EventArgs e)
{
    this.chkResFoodNveg.Enabled = !this.chkResFoodBot.Checked;
    this.chkResFoodVeg.Enabled = !this.chkResFoodBot.Checked;
}

Sin embargo, por la forma en que describe las acciones de sus botones, parece que está tratando de emular el comportamiento de un Radiobutton, tal vez deberías usar eso en su lugar. Solo te permitirá elegir una de las 3 opciones a la vez.

enter image description here

Respondido el 16 de Septiembre de 13 a las 00:09

Parece un trabajo para el Radiobutton! Aunque es posible implementar lo que quieras usando el Caja - Es probable que sea la herramienta incorrecta para este trabajo.

Al agregarlos a un formulario de Windows, se implementa automáticamente la funcionalidad que desea siempre que pertenezcan al mismo objeto contenedor como un GroupBox or Panel.

Ejemplo de botones de radio en uso

Respondido el 16 de Septiembre de 13 a las 01:09

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.