SoloCodigo

CLR: .Net / Mono / Boo / Otros CLR => VB .NET => Mensaje iniciado por: joy en Martes 22 de Mayo de 2012, 09:56

Título: Evento al pulsar mas de una tecla a la vez
Publicado por: joy en Martes 22 de Mayo de 2012, 09:56
Buenas a todos,

Necesito que un listBox se muestre o no en un formalio solo cuando se teclee una combinacion de teclas. Se como hacerlo para una unica tecla pero como puedo hacer para que se lance cuando se teclle la combinacion establecida por mi.(Ctrl+alt+shift+f1)

La funcion que tengo es la siguiente:

Código: vb.net
  1.  
Private Sub intro_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyUp
                    If e.KeyCode = Keys.Alt And e.KeyCode = Keys.Control And e.KeyCode = Keys.Shift And e.KeyCode = Keys.F1 Then
                              If Me.ListBox1.Visible = True Then
                                   Me.ListBox1.Visible = False Else Me.ListBox1.Visible = True
                              End If
                    End If
End Sub
Código: vb.net
  1.  
Título: Re:Evento al pulsar mas de una tecla a la vez
Publicado por: asnaed en Miércoles 12 de Diciembre de 2012, 00:40
No se que es lo que quieras hacer pero usa este código
Código: vb.net
  1. Private Sub intro_KeyPress1(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles intro.KeyPress
  2.         If (e.KeyChar = Chr(Keys.Enter)) Then
  3.             If Me.ListBox1.Visible = True Then
  4.                 Me.ListBox1.Visible = False
  5.             Else : Me.ListBox1.Visible = True
  6.  
  7.             End If
  8.         End If
  9.     End Sub

aquí te dejo el ejemplo como lo hice esta sencillo porque no detallas mucho pero suerte  :suerte:


Título: Re:Evento al pulsar mas de una tecla a la vez
Publicado por: F_Tanori en Miércoles 12 de Diciembre de 2012, 13:16
Hola.

Me parece que el evento deberia ser KEYDOWN, no tengo a la mano VB.NET, pero recuerdo KEYPRESS no toma las teclas especiales, quizas puedas intentar.

Código: vb.net
  1. sub Texbox1_KeyDown(ByVal sender As Object, ByVal e As KeyEventArgs)
  2.     If e.Control And e.Shift And e.KeyCode = Keys.F1 Then
  3.          'Mostrar...  
  4.     end if
  5. end sub

Mira Aqui:
http://stackoverflow.com/questions/4442805/vb-net-key-combination
http://social.msdn.microsoft.com/Forums/en/csharpgeneral/thread/62e0e557-dc48-4c32-afb8-93a02edba43e

Saludos