none
Mensaje al dejar Text.box en blanco. RRS feed

  • Pregunta

  • Cordial saludo

    He estado realizando un formulario en el que es importante llenar todos los box’s de textos… para poder realizar los cálculos correspondientes.
    Lo que necesito es: que al diligenciar el formulario me emita un  mensaje que me advierta de esas celdas vacías y que deben llenarlas.

    Al diligenciar el formulario como me quede alguna celda en blanco se me cierra el formulario.

    El dato que no be quedar en blanco corresponde a SBAS.Text

    private void Button4_Click(object sender, EventArgs e)
            {
                VLRH.Text = (Convert.ToInt32(SBAS.Text) / Convert.ToInt32(240)).ToString();

                VHNO.Text = (Convert.ToDecimal(SBAS.Text) * Convert.ToDecimal(HNO.Text) * Convert.ToDecimal(135)).ToString();
                            
                VHDD.Text = (Convert.ToDouble(VLRH.Text) * Convert.ToDouble(HDD.Text) * Convert.ToDouble(1.75)).ToString();....


    Si se requiere información más detallada estaré al tanto para responder. 

    De antemano muchísimas gracias.
    domingo, 4 de agosto de 2019 18:18

Respuestas

  • Hola Joser; puedes recorer mediante forEach evaluando que no está vacío

      private void button7_Click(object sender, EventArgs e)
            {
                foreach (Control Text in this.Controls.OfType <TextBox>())
                {
                    if(string.IsNullOrEmpty(Text.Text))
                        {
                        MessageBox.Show("Campo vacío en " + Text.Name + "  Verifique datos ingresados");
                        return;
                    }
                }
    
            }

    En este caso identifica el primer textBox que esté vacío y sale del void. Utuliza en Name para identificarlo

    Slaudos y espero te ayude

    Edito: en caso de que tengas en el formulario mas textBox, que no pertenezcan a la función, recomiendo que coloques los text en un Goup o panel para separarlos de los demás si hubiere


    ARA San Juan 44 HEROES     ‗‗‗‗­|||||‗‗‗‗‗


    • Editado Marcelo PF domingo, 4 de agosto de 2019 19:32
    • Marcado como respuesta Joser84 domingo, 4 de agosto de 2019 20:01
    • Desmarcado como respuesta Joser84 domingo, 4 de agosto de 2019 20:01
    • Propuesto como respuesta Pablo RubioModerator miércoles, 7 de agosto de 2019 16:59
    • Marcado como respuesta Pablo RubioModerator miércoles, 7 de agosto de 2019 16:59
    domingo, 4 de agosto de 2019 19:29
  • Claro, por eso te indicaba que si tienes más textBox que no son los que intervienen, para eso coloca los involucrados en un Panel o Goup de esta manera quedaría algo así;

        foreach (Control Text in this.groupBox1.Controls.OfType <TextBox>())
                {
                    if(string.IsNullOrEmpty(Text.Text))
                        {
                        MessageBox.Show("Campo vacío en " + Text.Name + "  Verifique datos ingresados");
                        return;
                    }
                }

    En este caso agregué un groupBox al Form1 y los textBox involucrados dentro de él, para que solo afecte al Group 


    ARA San Juan 44 HEROES     ‗‗‗‗­|||||‗‗‗‗‗

    • Propuesto como respuesta eRiver1 miércoles, 7 de agosto de 2019 15:08
    • Marcado como respuesta Pablo RubioModerator miércoles, 7 de agosto de 2019 16:59
    domingo, 4 de agosto de 2019 20:46
  • Muchísimas gracias! Me funciono.
    domingo, 4 de agosto de 2019 20:02
  • Tengo  uno text box de solo lectura...donde se muestran los resultados y también los mete, No meja calcular. Que estará mal?

    muchas gracias

    domingo, 4 de agosto de 2019 20:19

Todas las respuestas

  • Hola Joser; puedes recorer mediante forEach evaluando que no está vacío

      private void button7_Click(object sender, EventArgs e)
            {
                foreach (Control Text in this.Controls.OfType <TextBox>())
                {
                    if(string.IsNullOrEmpty(Text.Text))
                        {
                        MessageBox.Show("Campo vacío en " + Text.Name + "  Verifique datos ingresados");
                        return;
                    }
                }
    
            }

    En este caso identifica el primer textBox que esté vacío y sale del void. Utuliza en Name para identificarlo

    Slaudos y espero te ayude

    Edito: en caso de que tengas en el formulario mas textBox, que no pertenezcan a la función, recomiendo que coloques los text en un Goup o panel para separarlos de los demás si hubiere


    ARA San Juan 44 HEROES     ‗‗‗‗­|||||‗‗‗‗‗


    • Editado Marcelo PF domingo, 4 de agosto de 2019 19:32
    • Marcado como respuesta Joser84 domingo, 4 de agosto de 2019 20:01
    • Desmarcado como respuesta Joser84 domingo, 4 de agosto de 2019 20:01
    • Propuesto como respuesta Pablo RubioModerator miércoles, 7 de agosto de 2019 16:59
    • Marcado como respuesta Pablo RubioModerator miércoles, 7 de agosto de 2019 16:59
    domingo, 4 de agosto de 2019 19:29
  • Muchísimas gracias! Me funciono.
    domingo, 4 de agosto de 2019 20:02
  • Tengo otra duda. tengo dos forms...uno de Password y una de datos...con un botos de finalizar que cierra las dos ventanas pero al cerrar con la "X" no cierra sino uno solo". Que tengo que hacer?

    Gracias.

    domingo, 4 de agosto de 2019 20:05
  • Tengo  uno text box de solo lectura...donde se muestran los resultados y también los mete, No meja calcular. Que estará mal?

    muchas gracias

    domingo, 4 de agosto de 2019 20:19
  • Me alegro que te sirva; con respecto a tu siguiente consulta sugiero que cierres esta y abras una nueva pregunta, así los demás podran aportar respuestas, pero al caso, nos indiques si los Forms son hechos en tiempo de ejecución o parte del proyecto, eso seía relevante para la respuesta

    Saludos


    ARA San Juan 44 HEROES     ‗‗‗‗­|||||‗‗‗‗‗

    domingo, 4 de agosto de 2019 20:19
  • Tengo  uno text box de solo lectura...donde se muestran los resultados y también los mete, No meja calcular. Que estará mal?

    *Esto con respecto a la primera consulta.

    muchas gracias


    • Editado Joser84 domingo, 4 de agosto de 2019 20:31
    domingo, 4 de agosto de 2019 20:30
  • Claro, por eso te indicaba que si tienes más textBox que no son los que intervienen, para eso coloca los involucrados en un Panel o Goup de esta manera quedaría algo así;

        foreach (Control Text in this.groupBox1.Controls.OfType <TextBox>())
                {
                    if(string.IsNullOrEmpty(Text.Text))
                        {
                        MessageBox.Show("Campo vacío en " + Text.Name + "  Verifique datos ingresados");
                        return;
                    }
                }

    En este caso agregué un groupBox al Form1 y los textBox involucrados dentro de él, para que solo afecte al Group 


    ARA San Juan 44 HEROES     ‗‗‗‗­|||||‗‗‗‗‗

    • Propuesto como respuesta eRiver1 miércoles, 7 de agosto de 2019 15:08
    • Marcado como respuesta Pablo RubioModerator miércoles, 7 de agosto de 2019 16:59
    domingo, 4 de agosto de 2019 20:46