none
ayuda con el if y ifelse , VisualStudio C# RRS feed

  • Pregunta

  • if (this.Txt1 == "1s2") 
       pictureBox12.Show();
    else if (this.Txt1 == "")
       pictureBox13.Show();

    Cuando pongo la respuesta "1s2" quiero que salga el picturebox12, pero me sale en ambos el picturebox13.


    martes, 9 de julio de 2019 4:11

Respuestas

  • Tal como lo tienes escrito, si el texto del Txt1 es "1s2" se llamará al método Show de picturebox12, si el Txt1 está en blanco se llamará al método Show de pictureBox13, y si tiene cualquier otra cosa no se ejecutará nada.

    Sin embargo, queda por definir qué es lo que pasa cuando se llama al método Show. El pictureBox estándar de Windows Forms no tiene un método Show "propio", sino que hereda el Show de Control. Y el Show de Control es equivalente a poner Visible=true. Esto NO necesariamente hace que se vea el control, porque podría estar tapado por otro control que se encuentre encima. Por ejemplo, si el picturebox13 se encuentra ubicado encima del pictureBox12, entonces se seguirá viendo el pictureBox13 aunque hagas pictureBox12.Show. Si lo que querías es "subir" el pictureBox12 para que se vea por encima, entonces no basta con el .Show. Puedes usar para ello .BringToFront().

    • Marcado como respuesta AlexxVeras martes, 9 de julio de 2019 21:01
    martes, 9 de julio de 2019 5:33
    Moderador

Todas las respuestas

  • Hola AlexxVeras:

    Suponiendo que this.Txt1 sea un textBox, el condicional puede ser: 

                if (Txt1.Text == "1s2") 
                    pictureBox12.Show();
                else if (String.IsNullOrEmpty(Txt1.Text))
                    pictureBox13.Show();


    • Marcado como respuesta AlexxVeras martes, 9 de julio de 2019 20:05
    • Desmarcado como respuesta AlexxVeras martes, 9 de julio de 2019 20:25
    martes, 9 de julio de 2019 4:19
  • Hola AlexxVeras:

    Ya tienes dos hilos con la misma pregunta.

    En éste ya dispones al menos, de una respuesta.

    https://social.msdn.microsoft.com/Forums/es-ES/de3b93c3-240f-4ec0-bcf5-03720efdfc14/ayuda-con-el-if-y-ifelse?forum=vcses

    martes, 9 de julio de 2019 4:21
  • Tal como lo tienes escrito, si el texto del Txt1 es "1s2" se llamará al método Show de picturebox12, si el Txt1 está en blanco se llamará al método Show de pictureBox13, y si tiene cualquier otra cosa no se ejecutará nada.

    Sin embargo, queda por definir qué es lo que pasa cuando se llama al método Show. El pictureBox estándar de Windows Forms no tiene un método Show "propio", sino que hereda el Show de Control. Y el Show de Control es equivalente a poner Visible=true. Esto NO necesariamente hace que se vea el control, porque podría estar tapado por otro control que se encuentre encima. Por ejemplo, si el picturebox13 se encuentra ubicado encima del pictureBox12, entonces se seguirá viendo el pictureBox13 aunque hagas pictureBox12.Show. Si lo que querías es "subir" el pictureBox12 para que se vea por encima, entonces no basta con el .Show. Puedes usar para ello .BringToFront().

    • Marcado como respuesta AlexxVeras martes, 9 de julio de 2019 21:01
    martes, 9 de julio de 2019 5:33
    Moderador
  • Sigue saliendo lo mismo. Lo que quiero es que para un textbox tenga dos opciones para que salga una imagen.

    martes, 9 de julio de 2019 20:33
  • Sigue saliendo lo mismo. Lo que quiero es que para un textbox tenga dos opciones para que salga una imagen.
    martes, 9 de julio de 2019 20:33
  • No digas "Sigue saliendo lo mismo". Si ya hemos mencionado que el problema es muy probablemente una cuestión de cómo están dispuestos los picturebox y cuáles son sus propiedades, lo razonable es que presentes una explicación cuidadosa y detallada sobre cómo están ubicados uno respecto al otro y al resto de los objetos de la página, qué propiedades de visibilidad tienen, qué has observado con el debugger acerca de qué líneas de código llegan o no llegan a ejecutarse, etc. Si no das ningún detalle sino que solo dices "sale lo mismo", es muy difícil que puedan ayudarte los participantes del foro que no tienen acceso a ver tu máquina.
    martes, 9 de julio de 2019 20:56
    Moderador