label porfavor ayudenme

joa
11 de Febrero del 2006
Necesito ayuda con un label
tengo un label llamado Mostrar le he puesto una rayita debajos de S para que al apretar alt+s se diriga o enfoque al combo box q esta a su lado pero no me sale
he intentado con la funcion Label1_Click() pero nada
luego trabaje desde el form load con
Private Sub Form_KeyDown(Shift As Integer, KeyCode As Integer)

\\'If shift = 16 Then
\\' If KeyCode = 83 Then
\\' cmbEntidad.SetFocus
\\' End If
\\'End If
End Sub

pero tampoco no funciono
espero q me ayuden

Rosa
11 de Febrero del 2006
Hola, me parece que hace poco tuviste el mismo problema pero era con un textbox:

Tienes que poner la propiedad KeyPreview del formulario en True y usar este código:

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)

If Shift = vbAltMask Then
If KeyCode = vbKeyS Then
Combo1.SetFocus
End If
End If

End Sub

joa
11 de Febrero del 2006
ya hice eso y nada en mi formulario tambien tengo un msflexgrid q utiliza la propiedad kewdown y creo q esta interferiendo por q primero hace caso a eso

Rosa
11 de Febrero del 2006
Lo que está pasando es que la propiedad KeyPreview en true hace que el formulario reciba los eventos de teclado primero y después del control activo, o sea, si el control que tiene actualmente el foco tiene un evento keydown, éste lo va a recibir antes que el formulario, lo que podrías hacer es evaluar si se está presionando la tecla ALT en los controles que tengan evento keydown y darle el foco al formulario, siempre y cuando esos controles no necesiten evaluar la tecla ALT, así:

Private Sub MSFlexGrid1_KeyDown(KeyCode As Integer, Shift As Integer)

If Shift = vbAltMask Then
Form1.SetFocus
Exit Sub
End If

'Codigo...

End Sub