none
BLOQUEAR UN TEXTBOX MIENTRAS UN COMBOBOX ESTE VACIÓ C# RRS feed

  • Pregunta

  • Tengo un textbox y un combobox, me gustaría que el textbox este bloqueado siempre y cuando el combobox este vació, por ejemplo cuando el combobox no este vació el textbox se desbloquee, y cuando el combobox este vació se bloquee nuevamente.

    (Visual Studio 2019 C#)

    martes, 7 de enero de 2020 19:36

Respuestas

  • Hola Mizael

    Veo que Leandro ha leído muy rápido y se ha confundido ComboBox con CheckBox 

    Para hacer lo que solicitas, es controlar el Evento TextChanged del ComboBox

    private void comboBox1_TextChanged(object sender, EventArgs e)
    {
        if (comboBox1.Text == "")
            textBox1.Enabled = false;
        else 
            textBox1.Enabled = true;
    }

    Lo que está dentro del método anterior también se puede escribir más corto

    textBox1.Enabled = comboBox1.Text == "" ? false : true;

    El operador ternario ? es:  variable = expr1 ? expr2 : expr3

    Si expr1 es true, variable valdrá expr2, si no valdrá expr3

    Saludos

    Pablo

    martes, 7 de enero de 2020 21:58

Todas las respuestas

  • hola

    >>siempre y cuando el combobox este vació

    un checkbox no esta vacio o lleno, esta marcado\desmarcado o checked\unchecked

    puedes usar el evento del checkbox

    How to: Respond to Windows Forms CheckBox Clicks

    como veras puede evaluar el estado del check y poner el textbox

    private void checkBox1_Click(object sender, System.EventArgs e)  
    {  
        textbox1.Enabled = checkBox1.Checked;  
    } 

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    martes, 7 de enero de 2020 19:58
  • Hola Mizael

    Veo que Leandro ha leído muy rápido y se ha confundido ComboBox con CheckBox 

    Para hacer lo que solicitas, es controlar el Evento TextChanged del ComboBox

    private void comboBox1_TextChanged(object sender, EventArgs e)
    {
        if (comboBox1.Text == "")
            textBox1.Enabled = false;
        else 
            textBox1.Enabled = true;
    }

    Lo que está dentro del método anterior también se puede escribir más corto

    textBox1.Enabled = comboBox1.Text == "" ? false : true;

    El operador ternario ? es:  variable = expr1 ? expr2 : expr3

    Si expr1 es true, variable valdrá expr2, si no valdrá expr3

    Saludos

    Pablo

    martes, 7 de enero de 2020 21:58
  • Muchísimas gracias, me salvaste! 
    martes, 7 de enero de 2020 22:49