domingo, 13 de marzo de 2011

Simular presion de la tecla Enter en Visual Basic.NET 2008

Visual Basic no reconoce automáticamente cada vez que el usuario presiona la tecla Enter para esto es necesario escribir código o solamente dejar que el usuario pueda pasar al siguiente control presionando la tecla Tab o el tabulador.

control Textbox que posee el enfoque

Si necesitamos escribir una función que simule la pulsación de la tecla Tab 

Private Sub moverEnfoque()
        SendKeys.Send("{TAB}")
 End Sub


el cual lo llamariamos desde el evento desencadenado por el control que necesitamos simule que se esta presionando la tecla Enter y quedaria mas o menos asi.


Private Sub codigoTextBox_KeyPress1(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles codigoTextBox.KeyPress
        If e.KeyChar = ChrW(Keys.Enter) Then
            e.Handled = True
            moverEnfoque()
         End If
End Sub


En el codigo anterior verificamos si se esta presionando la tecla Enter, luego le decimos a Visual Basic que lo vamos a manejar por medio de codigo, seguidamente llamamos a nuestro procedimiento privado que creamos y listo.

Si crees que es mucho codigo ya que solo tienes un control o dos en tu formulario, tambien puedes escribirlo directamente.ejemplo:


Private Sub codigoTextBox_KeyPress1(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles codigoTextBox.KeyPress
        If e.KeyChar = ChrW(Keys.Enter) Then
            e.Handled = True
             SendKeys.Send("{TAB}")
         End If
End Sub


cabe destacar que la clase SendKeys lo que hace es proporcionar metodos para enviar pulsaciones de tecla a una aplicacion, no solamente la tecla Enter.

El método Send de la clase SendKeys  lo que hace es enviar una pulsación de tecla a la aplicación activa y solicita como parámetro una variable de tipo String


La tabla siguiente enumera los códigos que se pueden utilizar para especificar los caracteres que no aparecen al presionar la tecla correspondiente (como por ejemplo ENTRAR o TAB).

Tecla                         Código 
RETROCESO              {BACKSPACE} o {BS} 
INTER                       {BREAK} 
BLOQ MAYÚS            {CAPSLOCK} 
SUPR                        {CLEAR} 
SUPRIMIR                  {DELETE} o {DEL} 
FLECHA ABAJO          {DOWN} 
FIN                           {END} 
ENTRAR (teclado numérico) {ENTER} 
ENTRAR                    ~ 
ESC                          {ESCAPE} o {ESC} 
AYUDA                     {HELP} 
INICIO                      {HOME} 
INSERTAR                 {INSERT} 
FLECHA IZQUIERDA    {LEFT} 
BLOQ NUM               {NUMLOCK} 
AV PÁG                     {PGDN} 
RE PÁG                     {PGUP} 
RETORNO                 {RETURN} 
FLECHA DERECHA      {RIGHT} 
BLOQ DESPL              {SCROLLLOCK} 
TAB                           {TAB} 
FLECHA ARRIBA          {UP} 
F1 a F15                     {F1} a {F15}  

También puedes suscribirte si quieres recibir material freso todas las semanas y cada vez que publique un nuevo articulo llegara directamente a tu bandeja de entrada en tu correo electrónico preferido solamente envíame un correo electrónico con asunto "Quiero estar actualizado" al correo cristiancjv@gmail.com y yo personalmente te estaré enviando este y mucha información sobre las mejores practicas de programación.

Espero que este articulo les sea de mucha ayuda. nos vemos pronto.