none
ACTUALIZAR TEXTBOX WINDOWS FORM RRS feed

  • Pregunta

  • Buenas tardes a todos.

    Tengo 4 textbox:

    Ttxbox10 se llama cantidad

    Ttxbo11 se llama precio

    Txtbox12 se llama subtotal

    Ttxbox13 se llama Descuento

    //Dentro de Txtbox 12 obtengo la operación del 10 y del 11, siempre y cuando el usuario presione la tecla

    //enter en el txt10 y 11. Mi duda es la siguiente: Como puedo hacer que el tx12 se actualice el valor

    //en automatico, cada vez que se haya modificado algun dato del txt10 0 en el txt11? Ya que si el usuario,

    //modifica un valor en el txt10 o 11, y se va a llenar el dato del txt13, pues obviamente no se actualiza

    //por no haber presionado el enter.

    private void TxtBox12_Enter(object sender, EventArgs e) { if (string.IsNullOrEmpty(TxtBox11.Text)) { MessageBox.Show("Capture precio"); return; } decimal total; total = decimal.Parse(TxtBox10.Text) * decimal.Parse(TxtBox11.Text); TxtBox12.Text = total.ToString(); TxtBox13.Focus(); }


    Espero me puedan orientar.

    Gracias!

    jueves, 23 de abril de 2020 20:53

Respuestas

  • Ya pude, por si alguien mas lo necesita, hice lo siguiente: Solo cambiar después del Tryparse al texto con el cual se hará la operación; Yo lo tenia en el mismo txt10, que es donde inicia el usuario a capturar la cantidad, y lo único que hice cambie al txt11.

    Agradecer a Leandro Tutini, que alguna ocasión ya hace mas de un año me oriento en como obtener ese dato, pero no lo recordaba.

    Gracias a todos por tomarse el tiempo en responder.

     decimal Operador1, Operador2, Resultado;
    
            private void RecuperarDatos()
            {
                Operador1 = decimal.Parse(TxtBox10.Text);
                Operador2 = decimal.Parse(TxtBox11.Text);
            }
            private void TxtBox10_TextChanged(object sender, EventArgs e)
            {
                if (TxtBox10.Text=="")
                {
                    MessageBox.Show("Capture cantidad.");
                    return;
                }
                
                decimal.TryParse(TxtBox11.Text, out decimal numero1);
                if (numero1>= 1)
                {
                    RecuperarDatos();
                    Resultado = Operador1 * Operador2;
                    TxtBox12.Text = Resultado.ToString();
                }
            }

    • Marcado como respuesta MarZav sábado, 25 de abril de 2020 21:35
    sábado, 25 de abril de 2020 21:34

Todas las respuestas

  • Hola 

     

    Gracias por levantar tu consulta en los foros de MSDN. Con respecto a la misma, vamos a darte seguimiento e investigaremos para buscar la mejor respuesta para ti.

     
    Has utilizado eventos en tu textBox?
    El evento OnTextChanged te podria ayudar

    Como usar el evento OnTextChange de TextBox

    Siempre es un plaver atender tus consultas

    Gracias por usar los foros de MSDN.

     

    Luis Diego Mora

     ____

     

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde. 

     

    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft.  

     

    Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft.



    jueves, 23 de abril de 2020 21:29
    Moderador
  • Hola yo te recomiendo usar el evento textchanged en los textbox10 y textbox11

    Privade void TextBox10_TextChanged(object sender, EventArgs e) { aca pones tu formula de calculo, cantidad por precio = sub total }

    Así cambiara, siempre que se modifique el valor en los texttbox.

    jueves, 23 de abril de 2020 23:23
  • Intente con el evento Enter. Revisare el que me comentas.
    viernes, 24 de abril de 2020 1:12
  • Gracias Rich, pero no entendí muy bien que digamos. O sea poner la operación que tengo en el TxtBox12, pero en los txt10 y 11 con el evento Changed? De ser así lo intente, pero no funciona. No se le mucho al C# o mas bien casi nada
    viernes, 24 de abril de 2020 1:14
  • Lo probaste asi ?

    Privadevoid TextBox10_TextChanged(object sender, EventArgs e) {

    decimal total; total = decimal.Parse(TxtBox10.Text) * decimal.Parse(TxtBox11.Text); TxtBox12.Text = total.ToString();

    }

    viernes, 24 de abril de 2020 3:49
  • Nop, no deja dice: La cadena de entrada no tiene el formato correcto.

    Lo intente de esta manera con el evento text changed en ambos txt y tampoco funciono, ni como int ni como decimal. Capturo cualquier numero en el txt10 que viene siendo el de cantidad e inmediatamente bota el mismo error.

    decimal Operador1, Operador2, Resultado;
    
            private void RecuperarDatos()
            {
                Operador1 = decimal.Parse(TxtBox10.Text);
                Operador2 = decimal.Parse(TxtBox11.Text);
            }
            private void TxtBox10_TextChanged(object sender, EventArgs e)
            {
                int.TryParse(TxtBox10.Text, out int numero1);
                if (numero1>= 1)
                {
                    RecuperarDatos();
                    Resultado = Operador1 * Operador2;
                    TxtBox12.Text = Convert.ToString(Resultado);
                }
            }
            private void TxtBox11_TextChanged(object sender, EventArgs e)
            {
                int.TryParse(TxtBox11.Text, out int numero1);
                if (numero1 >= 1)
                {
                    RecuperarDatos();
                    Resultado = Operador1 * Operador2;
                    TxtBox12.Text = Convert.ToString(Resultado);
                }
    
            }

    sábado, 25 de abril de 2020 19:09
  • Ya pude, por si alguien mas lo necesita, hice lo siguiente: Solo cambiar después del Tryparse al texto con el cual se hará la operación; Yo lo tenia en el mismo txt10, que es donde inicia el usuario a capturar la cantidad, y lo único que hice cambie al txt11.

    Agradecer a Leandro Tutini, que alguna ocasión ya hace mas de un año me oriento en como obtener ese dato, pero no lo recordaba.

    Gracias a todos por tomarse el tiempo en responder.

     decimal Operador1, Operador2, Resultado;
    
            private void RecuperarDatos()
            {
                Operador1 = decimal.Parse(TxtBox10.Text);
                Operador2 = decimal.Parse(TxtBox11.Text);
            }
            private void TxtBox10_TextChanged(object sender, EventArgs e)
            {
                if (TxtBox10.Text=="")
                {
                    MessageBox.Show("Capture cantidad.");
                    return;
                }
                
                decimal.TryParse(TxtBox11.Text, out decimal numero1);
                if (numero1>= 1)
                {
                    RecuperarDatos();
                    Resultado = Operador1 * Operador2;
                    TxtBox12.Text = Resultado.ToString();
                }
            }

    • Marcado como respuesta MarZav sábado, 25 de abril de 2020 21:35
    sábado, 25 de abril de 2020 21:34