none
Deshabilitar teclas de acceso rápido (F1,F2 etc) RRS feed

  • Pregunta

  • Buen Dia

    Como puedo desactivar las teclas F1,F2...F12, en una aplciacion Silverlight,

    he probado ejecutando javascript, pero al parecer no permite la ejecución del código

    GRacias.


    Luis Alejandro Duarte
    viernes, 24 de diciembre de 2010 16:44

Todas las respuestas

  • Hola Luis puedes hacer uso de lo siguiente:

    Esto lo tengo yo aplicado para un textbox.

    delcaro a nivel de clase las teclas en una lista

    List<Key> skipKey = new List<Key>(new Key[] { Key.NumPad0, Key.NumPad1, 
       Key.NumPad2, Key.NumPad3, Key.NumPad4, Key.NumPad5, Key.NumPad6, 
       Key.NumPad7, Key.NumPad8, Key.NumPad9,
       Key.F1, Key.F2, Key.F3, Key.F4, Key.F5, Key.F6, Key.F7, 
       Key.F8, Key.F9, Key.F10, Key.F11, Key.F12, Key.Tab, Key.Enter,
       Key.Divide, Key.Up, Key.Decimal, Key.Delete, Key.Escape, Key.Multiply, Key.Subtract, Key.Add, Key.Alt, Key.Back, Key.CapsLock, 
       Key.Ctrl, Key.Insert});
    

    posteriormente coloco en el evento KeyDown a un control y ese metodo lo uso para cualquier otro control, lo ke hace es: validar la tecla que se esta presionando, para mi caso desactive las del teclado numerico pero el codigo lo puedes modificar para validar esas teclas que necesitas desactivar y colocarle el metodo a tu forma principal.

    #region Codigo solo números
      private void telefonoV_KeyDown(object sender, KeyEventArgs e)
      {
       if (e.Key >= Key.D0 && e.Key <= Key.D9 || e.Key >= Key.NumPad0 && e.Key <= Key.NumPad9)
       {
        e.Handled = false;
       }
       else
       {
        e.Handled = true;
       }
      }
    #endregion
    

    Espero te ayude en algo este codigo.

    Saludos

    viernes, 24 de diciembre de 2010 18:31
  • Hola la lista de teclas no es encesaria jajaja

    esa la utilice para otras cosas en este caso para no permitir que utilizaran las teclas en mi aplicacion al momento de llenar unos datos. :) asi que solo usa el codigo del metodo KeyDown y con esoooooooooooo.

    Saludos

    viernes, 24 de diciembre de 2010 18:38
  • GRacias por Responder

    Pero quisiera que las funciones F1,F2...F5 sean para invalidar las teclas que se tiene en el explorador de Internet, me hago entender, F5 sirve para refrescar la página, F3 para hacer bùsquedas, quisiera que esas teclas no funcionaran, solo funcionarian en mi aplicación Silverlight, coloquè un còdigo Javascript en la página aspx que tiene Silverlight pero no me funcionó

     

     

    Gracias.


    Luis Alejandro Duarte
    viernes, 24 de diciembre de 2010 20:09
  • Saludo Luis, esta tratando de alterar algo que se encuentra en el cliente y para esto debe realizar algun codigo que se ejecute en ese lugar y que mejor que el java script
    Si la informacion te fue de Utilidad marcala como util

    Angel R. Jimenez G.
    Software Development
    Santo Domingo Republica Dominicana
    sábado, 25 de diciembre de 2010 19:33
  • Gracia por Responder Angel

    Pero ya he probado varios códigos de javascript y no se me deshabilitan las teclas especiales

    ese código lo pongo en el testpage.aspx, y es el siguiente

    <script language="javascript"> 
     
      document.onkeydown = function(){ 
      if(window.event && window.event.keyCode == 116){ 
       window.event.keyCode = 505; 
      } 
      if(window.event && window.event.keyCode == 505){ 
       return false;   
      } 
      } 
    </script>


    Luis Alejandro Duarte
    lunes, 27 de diciembre de 2010 13:39
  • Buen dia

    Una opción seria utilizar la aplicación silverlight por fuera del explorador

    Propiedades del proyecto- silverlight y seleccionar

    "Habilitar la aplicacion por fuera del explorador"

    De pronto es una solución, y en este caso las teclas especiales pasarian a ser parte de la aplicación

    Otra opinión seria bienvenida

    Gracias,


    Luis Alejandro Duarte
    miércoles, 29 de diciembre de 2010 3:22