• Sábado 21 de Diciembre de 2024, 17:13

Autor Tema:  Leer los botones con teclado  (Leído 5160 veces)

Meta

  • Miembro MUY activo
  • ***
  • Mensajes: 140
    • Ver Perfil
Leer los botones con teclado
« en: Lunes 15 de Septiembre de 2008, 08:16 »
0
Hola:

He hecho un ejemplo colocando dos botones normales y un label1. Al pulsar el botón suelta un mensaje al label1:

Has pulsado la A.

Si pulso el botón con el ratón funciona bien como dije arriba, ahora al pulsar el teclado la letra "A" o la letra "B" no pasa nada.

La pregunta es. ¿Existe la posibiliodad de esa opción?



 

Code Snippetusing System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

namespace Leer_boton

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

private void button1_Click(object sender, EventArgs e)

{

label1.Text = "Has pulsado la A";

}

private void button2_Click(object sender, EventArgs e)

{

label1.Text = "Has pulsado la B";

}

}

}

 


 

Un cordial saludos.




--------------------------------------------------------------------------------
La verdad no mancha los labios de quien la dice, sino la conciencia de quien la oculta.

ProfesorX

  • Moderador
  • ******
  • Mensajes: 796
  • Nacionalidad: mx
    • Ver Perfil
Re: Leer los botones con teclado
« Respuesta #1 en: Lunes 15 de Septiembre de 2008, 19:25 »
0
Pues mira, no se puede que yo sepa activar un boton con la ''A' solita o la 'B' solita, pero si puedes hacer que se active con alt-a, alt-b, o cualquier otra combinacion de letra con alt, siempre que sea unica, es decir, que no haya dos botones con la misma letra, en el mismo formulario, simplemente añades un ampersand '&' en la propiedad text de tu boton antes de la letra que quieres que se active, Por ejemplo, para tu boton1, deberias poner button1.Text = "Boton &A";

Espero que la informacion te sirva.

Saludos :hola:

NOTA:
==================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
==================================================================

Meta

  • Miembro MUY activo
  • ***
  • Mensajes: 140
    • Ver Perfil
Re: Leer los botones con teclado
« Respuesta #2 en: Lunes 15 de Septiembre de 2008, 19:43 »
0
Lo he probado pero luego tengo que pulsar enter y así es más incómodo que pulsar directamente con el ratón.

Aun así, gracias.

mx_latino

  • Miembro activo
  • **
  • Mensajes: 91
  • Nacionalidad: ec
    • Ver Perfil
Creo que no es tan complicado!!
« Respuesta #3 en: Lunes 15 de Septiembre de 2008, 22:58 »
0
Si te entendi bien la pregunta no es tan compleja la cosa!!  ;)
Solo es cuestion de habilitar KeyPreview en el Form, via codigo o con el manejador de propiedades!!   :huh:

Código: Text
  1.   
  2.         String Texto = "Se a presionado -> ";
  3.  
  4.         public FormKeyPreview()
  5.         {
  6.             InitializeComponent();
  7.         }
  8.  
  9.         private void FormKeyPreview_Load(object sender, EventArgs e)
  10.         {
  11.             this.KeyPreview = true;
  12.         }
  13.  
  14.         private void FormKeyPreview_KeyPress(object sender, KeyPressEventArgs e)
  15.         {
  16.             switch (e.KeyChar)
  17.             {
  18.                 case (char)Keys.A:
  19.                     BtnA_Click(sender, new EventArgs());
  20.                     break;
  21.                 case (char)Keys.B:
  22.                     BtnB_Click(sender, new EventArgs());
  23.                     break;
  24.                 default:
  25.                     LblInfoPress.Text = Texto;
  26.                     break;
  27.             }
  28.         }
  29.  
  30.         private void BtnA_Click(object sender, EventArgs e)
  31.         {
  32.             LblInfoPress.Text = Texto + " A";
  33.         }
  34.  
  35.         private void BtnB_Click(object sender, EventArgs e)
  36.         {
  37.             LblInfoPress.Text = Texto + " B";
  38.         }
  39.  

Alli te dejo un pequeño ejemplo..
Saludos y suerte  :)
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.

Meta

  • Miembro MUY activo
  • ***
  • Mensajes: 140
    • Ver Perfil
Re: Creo que no es tan complicado!!
« Respuesta #4 en: Martes 16 de Septiembre de 2008, 01:06 »
0
Cita de: "mx_latino"
Si te entendi bien la pregunta no es tan compleja la cosa!!  ;)
Solo es cuestion de habilitar KeyPreview en el Form, via codigo o con el manejador de propiedades!!   :huh:

Código: Text
  1.   
  2.         String Texto = "Se a presionado -> ";
  3.  
  4.         public FormKeyPreview()
  5.         {
  6.             InitializeComponent();
  7.         }
  8.  
  9.         private void FormKeyPreview_Load(object sender, EventArgs e)
  10.         {
  11.             this.KeyPreview = true;
  12.         }
  13.  
  14.         private void FormKeyPreview_KeyPress(object sender, KeyPressEventArgs e)
  15.         {
  16.             switch (e.KeyChar)
  17.             {
  18.                 case (char)Keys.A:
  19.                     BtnA_Click(sender, new EventArgs());
  20.                     break;
  21.                 case (char)Keys.B:
  22.                     BtnB_Click(sender, new EventArgs());
  23.                     break;
  24.                 default:
  25.                     LblInfoPress.Text = Texto;
  26.                     break;
  27.             }
  28.         }
  29.  
  30.         private void BtnA_Click(object sender, EventArgs e)
  31.         {
  32.             LblInfoPress.Text = Texto + " A";
  33.         }
  34.  
  35.         private void BtnB_Click(object sender, EventArgs e)
  36.         {
  37.             LblInfoPress.Text = Texto + " B";
  38.         }
  39.  

Alli te dejo un pequeño ejemplo..
Saludos y suerte  :)

Hola:

He probado la aplicación que hiciste. No funciona como digo. lo que digo es, que al pulsar la letra A o B del teclado, se ejecute las acciones de los botones A o B cuando haces click en el ratón.

Ejemplo:
Si pulso la letra A del teclado, se ejecutan las mismas acciones que al pinchar el botón A con el ratón. Es lo que quiero realizar.

Saludos.

Saludos y gracias.

ProfesorX

  • Moderador
  • ******
  • Mensajes: 796
  • Nacionalidad: mx
    • Ver Perfil
Re: Leer los botones con teclado
« Respuesta #5 en: Martes 16 de Septiembre de 2008, 02:35 »
0
Cita de: "Meta"
Lo he probado pero luego tengo que pulsar enter y así es más incómodo que pulsar directamente con el ratón.

Aun así, gracias.

Que raro, porque a mi me funciona sin pulsar enter, solo con alt+letra.

Estas seguro que modificaste la propiedad text en tiempo de diseño?

NOTA:
==================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
==================================================================

mx_latino

  • Miembro activo
  • **
  • Mensajes: 91
  • Nacionalidad: ec
    • Ver Perfil
Todo funciona bien!!
« Respuesta #6 en: Martes 16 de Septiembre de 2008, 15:28 »
0
La aplicación hace justamente eso...  <_<

Da lo mismo dar click sobre los botones A o B que presionar las teclas que coresponden...
Tal vez si pruebas activando el teclado de mayusculas porq esta hecho para "A" no para "a"..  :no:

Saludos y Suerte...  B)

Meta

  • Miembro MUY activo
  • ***
  • Mensajes: 140
    • Ver Perfil
Re: Todo funciona bien!!
« Respuesta #7 en: Miércoles 17 de Septiembre de 2008, 17:14 »
0
Cita de: "mx_latino"
La aplicación hace justamente eso...  <_<

Da lo mismo dar click sobre los botones A o B que presionar las teclas que coresponden...
Tal vez si pruebas activando el teclado de mayusculas porq esta hecho para "A" no para "a"..  :no:

Saludos y Suerte...  B)

Hola mi muy distinguido amigo.

He dejado la mayúscula pulsada y ya funciona como yo quiero. Aún así, ¿hay alguna forma de funcionar sea mayúsculas o minúsculas sin tener que tocar la tecla Mayúscula?

Saludos.

Meta

  • Miembro MUY activo
  • ***
  • Mensajes: 140
    • Ver Perfil
Re: Leer los botones con teclado
« Respuesta #8 en: Jueves 18 de Septiembre de 2008, 05:03 »
0
Por cierto, ya el programa me funciona, pero no he logrado que me acepte la "A" y la "a".


http://es.youtube.com/watch?v=niWAbQ-HVnY

[youtube]http://es.youtube.com/watch?v=niWAbQ-HVnY[/youtube]

mx_latino

  • Miembro activo
  • **
  • Mensajes: 91
  • Nacionalidad: ec
    • Ver Perfil
Leer "A" y "a"
« Respuesta #9 en: Jueves 18 de Septiembre de 2008, 15:41 »
0
Aqui le hice una pequeña modificación  ^_^
Revisa el código que no es nada complejo, pero sirve!!  :comp:

Saludos y suerte!!
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.

Meta

  • Miembro MUY activo
  • ***
  • Mensajes: 140
    • Ver Perfil
Re: Leer los botones con teclado
« Respuesta #10 en: Viernes 19 de Septiembre de 2008, 06:44 »
0
Al compilar me da error.

Error   8   no se puede resolver el tipo 'DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v8.1, Version=8.1.2.0, Culture=neutral, PublicKeyToken=9b171c9fd64da1d1'   C:Documents and SettingsHunterEscritorioWAKeyPreview_ActualizadoWAKeyPreviewWAKeyPreviewPropertieslicenses.licx   1   WAKeyPreview

mx_latino

  • Miembro activo
  • **
  • Mensajes: 91
  • Nacionalidad: ec
    • Ver Perfil
Finalmente sin problemas!!
« Respuesta #11 en: Viernes 19 de Septiembre de 2008, 15:20 »
0
Lo siento compadre esque suelo trabajar con componentes de   http://www.devexpress.com/  :P  y no me di cuenta que habia puesto los Label de eso tipo, pero alli te envio ya con los componentes normales de .Net.

Saludos y suerte!!  :D
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.
« última modificación: Lunes 22 de Septiembre de 2008, 15:26 por mx_latino »

Meta

  • Miembro MUY activo
  • ***
  • Mensajes: 140
    • Ver Perfil
Re: Leer los botones con teclado
« Respuesta #12 en: Viernes 19 de Septiembre de 2008, 20:05 »
0
Error   1   no se puede resolver el tipo 'DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v8.1, Version=8.1.2.0, Culture=neutral, PublicKeyToken=9b171c9fd64da1d1'   C:Documents and SettingsHunterEscritorioWAKeyPreview_FinalWAKeyPreviewWAKeyPreviewPropertieslicenses.licx   1   WAKeyPreview

mx_latino

  • Miembro activo
  • **
  • Mensajes: 91
  • Nacionalidad: ec
    • Ver Perfil
Re: Leer los botones con teclado
« Respuesta #13 en: Lunes 22 de Septiembre de 2008, 15:29 »
0
Cita de: "Meta"
Error   1   no se puede resolver el tipo 'DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v8.1, Version=8.1.2.0, Culture=neutral, PublicKeyToken=9b171c9fd64da1d1'   C:Documents and SettingsHunterEscritorioWAKeyPreview_FinalWAKeyPreviewWAKeyPreviewPropertieslicenses.licx   1   WAKeyPreview

Que raro pero si ya le he quitado todo ese tipo de librerias!!  :huh:

Prueba nuevamente...   <_<

Sino almenos fijate en el codigo y trata de aplicarlo en un form tuyo..
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.

Meta

  • Miembro MUY activo
  • ***
  • Mensajes: 140
    • Ver Perfil
Re: Leer los botones con teclado
« Respuesta #14 en: Martes 23 de Septiembre de 2008, 06:14 »
0
Cita de: "mx_latino"
Cita de: "Meta"
Error   1   no se puede resolver el tipo 'DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v8.1, Version=8.1.2.0, Culture=neutral, PublicKeyToken=9b171c9fd64da1d1'   C:Documents and SettingsHunterEscritorioWAKeyPreview_FinalWAKeyPreviewWAKeyPreviewPropertieslicenses.licx   1   WAKeyPreview

Que raro pero si ya le he quitado todo ese tipo de librerias!!  :huh:

Prueba nuevamente...   <_<

Sino almenos fijate en el codigo y trata de aplicarlo en un form tuyo..

Hola:

Ahora funciona a la perfección, voy a examinarlo paso a paso.

Un cordial saludos.

Meta

  • Miembro MUY activo
  • ***
  • Mensajes: 140
    • Ver Perfil
Re: Leer los botones con teclado
« Respuesta #15 en: Martes 14 de Octubre de 2008, 07:15 »
0
Hola de nuevo:

He vuelto a probar el código , sólo he hecho un cambio, por ejemplo:
Cambiar la letra "l" minúscula que en hexadecimal es 6C, y desde que ponga algo que contenga letra aparece este error.

Error   1   Error sintáctico, se esperaba ':'   C:Documents and SettingsHunterEscritorioWAKeyPreview_RaroWAKeyPreviewWAKeyPreviewFormKeyPreview.cs   59   23   WAKeyPreview

¿Hay alguna solución?

Un cordial saludos.