none
teclado numérico crear RRS feed

  • Pregunta

  • hola, en mi aplicación tengo nueve botones que representan los números del 0 al 9 lo que quisiera es que el usuario al teclear valla escribiendo en un texbox

    y un botón para borrar numero a numero introducido

    alguna idea como puedo hacerlo?

    un saludo

    muchas gracias


    Christian

    • Cambiado webJoseModerator viernes, 26 de octubre de 2012 23:01 (De:Lenguaje C#)
    miércoles, 25 de julio de 2012 13:15

Respuestas

  • hola lo hice asi que les parece, me queda la duda de como ir borrando numero a numero

     private void uno_Click(object sender, EventArgs e)
            {
               numerotelefono.Text += "1";
            }

            private void dos_Click(object sender, EventArgs e)
            {
                numerotelefono.Text += "2";
            }

            private void tres_Click(object sender, EventArgs e)
            {
                numerotelefono.Text += "3";
            }

    un saludo


    Christian

    • Marcado como respuesta Noahpro miércoles, 25 de julio de 2012 13:59
    miércoles, 25 de julio de 2012 13:32

Todas las respuestas

  • hola

    podrias usar el

    protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
    {
    
    	switch (keyData) {
    		case Keys.0:
    			//aqui invocas metodo
    
    			break;
    		case Keys.1:
    			//aqui invocas metodo
    
    			break;
    		case Keys.2:
    			//aqui invocas metodo
    
    			break;
    		case Keys.3:
    			//aqui invocas metodo
    
    			break;
    	}
    
    	return base.ProcessCmdKey(msg, keyData);
    
    }

    y asi con el resto de los botones

    puede de forma global al form detectar que numero se pulsa y realziar una accion por cada uno

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    miércoles, 25 de julio de 2012 13:23
  • podrias usar el PerformClick

    para invocar la accion de cada boton


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    miércoles, 25 de julio de 2012 13:25
  • hola lo hice asi que les parece, me queda la duda de como ir borrando numero a numero

     private void uno_Click(object sender, EventArgs e)
            {
               numerotelefono.Text += "1";
            }

            private void dos_Click(object sender, EventArgs e)
            {
                numerotelefono.Text += "2";
            }

            private void tres_Click(object sender, EventArgs e)
            {
                numerotelefono.Text += "3";
            }

    un saludo


    Christian

    • Marcado como respuesta Noahpro miércoles, 25 de julio de 2012 13:59
    miércoles, 25 de julio de 2012 13:32
  • no entendi

    que tiene que ver este codigo con lo que planteas de ir presionando el numero en el teclado ? porque eso no tiene nada que ver es es la implementacion del boton, no como detectar el teclado


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    miércoles, 25 de julio de 2012 13:34
  • no me explique bien entonces....

    lo que queria hacer es cuando clico en un boton de mi form, eje: el uno me lo marque en un textbox asi sucesivamente, es como si fuera una calculadora, lo que el proyecto es para un tpv de un bar para introducir precios

    un saludo


    Christian

    miércoles, 25 de julio de 2012 13:36
  • pero en el bar no seria mejor usar el teclado antes que el mouse para presionar cada boton ?

    si es con los botones como lo has puesto esta correcto


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    miércoles, 25 de julio de 2012 13:46
  • esta aplicacion se instalara en un tpv con pantalla tactil. por eso la idea de poner los botones

    alguna recomendacion para aplicaciones tactiles?

    un saludo

    muchas gracias


    Christian

    miércoles, 25 de julio de 2012 13:59
  • Podrias ahorrarte mucho codigo y no utilizar "case" haciendo una funcion como esta:

    private void keypad(object sender, EventArgs e)
            {
                Button seleccion = ((Button)sender);
                txtPin.Text += seleccion.Text;
            }

    En cada boton de tu teclado, cuando se ejecute el evento click debe ejecutar la funcion keypad.

    En mi caso el textbox se llama txtPin, y presenta asteriscos segun el usuario va puchando los botones.


    viernes, 26 de octubre de 2012 14:33
  •    Hola por que no utilizas esto:

    private void uno_Click(object sender, EventArgs e)
             {
                numerotelefono.Focus();
                SendKeys.Send("{1}");
             }
     
            private void dos_Click(object sender, EventArgs e)
             {
                 numerotelefono.Focus();
                SendKeys.Send("{2}");
             }
     
            private void tres_Click(object sender, EventArgs e)
             {
                 numerotelefono.Focus();
                SendKeys.Send("{3}");
             }

    Y para borrar

    private void btnRegresar_Click(object sender, EventArgs e)
            {
                numerotelefono.Focus();
                SendKeys.Send("{BACKSPACE}");
            }


                   S A L U D O S !                                                                                                     msico.gif (40541 bytes)

                      R L J

    "No olvides marcar como respuesta la mejor opción</

    viernes, 26 de octubre de 2012 21:05