CLR: .Net / Mono / Boo / Otros CLR > C#

 datos por teclado y usando mouse

<< < (2/2)

ProfesorX:

--- Cita de: picyo en Miércoles 17 de Agosto de 2011, 19:09 ---Si borras la pantalla, debes volber a pulsar un botón desde el teclado virtual, y luego ya puedes seguir con el normal...

--- Fin de la cita ---

Por lo que comentas, parece que no estas capturando el evento Keypress en el boton de borrado de pantalla, ya antes te dije que debes capturar el evento Keypress para todos tus controles, inclusive para el formulario, no solo para los botones de los digitos, ya que el evento Keypress funciona solo si el control tiene el foco, pero si pulsas otro boton que no sea el digito, y no capturas el evento Keypress para ese boton, logicamente no te reconocera el que pulses un digito.

Puedes hacerlo desde el diseñador (lo mas recomendable) o en el metodo Load de tu formulario, te dejo a continuacion un ejemplo de como hacerlo manualmente en el metodo Load, suponiendo que el boton de borrado se llama btClear y el metodo que controla el eventp KeyPress se llama bt_Digito_KeyPress como en tu ejemplo anterior:


--- Código: ---        private void Form1_Load(object sender, EventArgs e)
        {
            etPantalla.Enabled = false;
            // Ya no utilices el & para poder
            // capturar el evento keypress en el metodo
            // bt_Digito_KeyPress
            btDigito1.Text = "1";
            btDigito2.Text = "2";
            // Añades el evento KeyPress al boton de borrado
            this.btClear.KeyPress += new KeyPressEventHandler(this.bt_Digito_KeyPress);
            // Añades el evento KeyPress al Formulario
            this.KeyPress += new KeyPressEventHandler(this.bt_Digito_KeyPress);
        }

--- Fin del código ---

Saludos :)

picyo:
Hola! perdona por la tardanza!
ha ido perefcto!
si realmente me figuraba que el problema era que al pulsar el botón virtual, éste se quedaba el foco, y el teclado lo perdía. L forma que se para poner un focus era sólo ésta :

--- Código: ---etpantalla.Focus()
--- Fin del código ---
( lo pongo de  como ejemlo , ¿eh?)
pero no sabia como hacer focus de la pulsación del teclado. Ahora si! Grácias!

Navegación

[0] Índice de Mensajes

[*] Página Anterior

Ir a la versión completa