Visual Basic - Me falla el KeyPreview

Life is soft - evento anual de software empresarial
 
Vista:

Me falla el KeyPreview

Publicado por Miguel (243 intervenciones) el 14/05/2001 13:58:56
Hola
Tengo un formulario con el KeyPreview = True.
Este Form tiene un SSTab con cuatro fichas.En el KeyDown del Form pongo

Select Case KeyCode
Case vbKeyPageDown
SSTab1.Tab = SSTab1.Tab + 1
End Select

para que al darle a la tecla Av.Pág. pase a la ficha siguiente.
El problema es que me pasa dos veces por ese código y me avanza dos fichas en lugar de una.Lo he puesto en el KeyDown porque en el KeyPress no funciona ( con el código 34).¿Por qué me pasa dos veces por ese código? He probado poner Exit Sub después del SSTab1.Tab = SSTab1.Tab + 1 pero me vuelve a Select Case KeyCode de nuevo.
¿Alguien me puede ayudar?
Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Problema

Publicado por José Ariel (165 intervenciones) el 14/05/2001 15:21:38
el problema es el sstab, ya que cuando este tiene el foco pasa ejecuta 2 veces el keydown. Lo podes solucionar de esta forma:

Private Sub Form_Keydown(KeyCode As Integer, Shift As Integer)
If Not TypeOf Me.ActiveControl Is SSTab Then
Select Case KeyCode
Case vbKeyPageDown
SSTab1.Tab = SSTab1.Tab + 1
End Select
End If
End Sub

Private Sub SSTab1_KeyDown(KeyCode As Integer, Shift As Integer)
Select Case KeyCode
Case vbKeyPageDown
SSTab1.Tab = SSTab1.Tab + 1
End Select
End Sub

Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar