none
activar funcion con el teclado RRS feed

  • Pregunta

  • hola

    tengo una aplicacion en wpf, y quisiera que fuese mas dinamica, rapida y facil, para ello he estado pensando en que el software reconozca teclas para realizar las funciones que se realizan con el mouse y el boton.

    lo que quisiera es que la función por ejemplo de añadir se pueda hacer con el mouse y con la combinación de teclas como Ctrl+F6 o solo con F6, o que por ejemplo F7 me permita ubicar el puntero del mouse en un textbox de la aplicación, 

    como puedo hacer esto¿?

    muchas gracias

    lunes, 26 de abril de 2010 14:39

Respuestas

  • te dejo el codigo para que lo pruebes ok!!

    Creo que este codigo te ayudara. 

    private void Window_KeyDown(object sender, KeyEventArgs e)
      {
       if (e.Key == Key.D)
       {
        if ((Keyboard.Modifiers & ModifierKeys.Control)== ModifierKeys.Control)
        {
         MessageBox.Show("Funciono");
        } 
       }
      }

    Saludos

    • Propuesto como respuesta Hector MCT lunes, 26 de abril de 2010 16:34
    • Editado Hector MCT lunes, 26 de abril de 2010 16:35 :)
    • Marcado como respuesta ccmmasi lunes, 26 de abril de 2010 20:03
    lunes, 26 de abril de 2010 16:06

Todas las respuestas

  • hola, 

    estoy haciendo esto:

     

    <Button Height="23" Name="btnG" Width="189" Click="btnG_Click" Background="#3C88D5" KeyDown="EnterParaPasar">G</Button>

     

    y el evento de EnterParaPasar es:

     

    private void EnterParaPasar(object sender, KeyEventArgs e)
     {
      if (e.Key == Key.Enter)
      {
      txtD.Text = "funcionó";
      }
     }

     

    pero no me funciona, que me hace falta¿?

    lunes, 26 de abril de 2010 15:24
  • te dejo el codigo para que lo pruebes ok!!

    Creo que este codigo te ayudara. 

    private void Window_KeyDown(object sender, KeyEventArgs e)
      {
       if (e.Key == Key.D)
       {
        if ((Keyboard.Modifiers & ModifierKeys.Control)== ModifierKeys.Control)
        {
         MessageBox.Show("Funciono");
        } 
       }
      }

    Saludos

    • Propuesto como respuesta Hector MCT lunes, 26 de abril de 2010 16:34
    • Editado Hector MCT lunes, 26 de abril de 2010 16:35 :)
    • Marcado como respuesta ccmmasi lunes, 26 de abril de 2010 20:03
    lunes, 26 de abril de 2010 16:06
  • hola hector, 

    muchas gracias por contestar. ya tengo el codigo y ya me funciona, 

    private void Funciones(object sender, KeyEventArgs e)
    {
          if (e.Key == Key.F12)
          {
            txtNombreTareaNueva.Focus();
          }
    }
    

    la funcion la agregue en el encabezado del window, 

    ahora tengo otra duda, si lo que quiero es una combinacion de teclas? por ahora esta muy bien con una sola, pero si 

    quisiera por ejemplo crl+e como puedo hacerlo?

    gracias

     

    lunes, 26 de abril de 2010 20:02
  • el código que te agregue funciona precisamente con la combinación de teclas crt + d, si gustas pruébalo para que lo corrobores..

    private void Window_KeyDown(object sender, KeyEventArgs e)
     {
    //aquí entra si la tecla presionada es d
     if (e.Key == Key.D)
     {
     
     if ((Keyboard.Modifiers & ModifierKeys.Control)== ModifierKeys.Control)
     {
    //Este mensaje de funciono solo se muestra si fue con la combinación de la tecla Crt + d
      MessageBox.Show("Funciono");
     } 
     }
     }
    
    Saludos
    lunes, 26 de abril de 2010 20:19
  • gracias
    lunes, 26 de abril de 2010 20:35