Etiqueta intermitente solo si se pulsa una tecla

Tengo en un formulario una etiqueta intermitente con el evento Al Cronometro que se activa al cargar mi pregunta es ¡¿Es posible que se active solo si se pulsa cualquier tecla de dicho formulario y no al cargar?

1 Respuesta

Respuesta
2

Para eso tienes el evento Al bajar una tecla del propio formulario

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Me.TimerInterval =....
End Sub

Aunque personalmente lo pondría sólo al bajar una única tecla, por ejemplo, sólo al bajar la m

If keycode=77 then

me.timeinterval=...

end if

Gracias Julián, en Me.TimerInterval =.... después del igual he probado con el nombre del formulario y con el nombre de la etiqueta y no me funciona ni uno ni otro, he de decirte que el formulario tiene puesta esta instrucció  Me.AllowEdits = False, no se si puede tener algo que ver. 

Saludos.

En me. Timerinterval tienes que poner en tiempo en milisegundos. Por ejemplo, vamos a suponer que quieres que una etiqueta llamada LblProductos esté visible durante 10 segundos y durante 10 segundos esté oculta. En principio la pones como oculta. En el evento que hayas decidido, si al bajar una tecla, o donde sea pondrías

me.timerinterval=1000 (sería un segundo)

Por ejemplo, en este caso lo pongo en un botón, pero es para que me dé tiempo a grabar la imagen Tengo el formulario

En el evento Al hacer clic del botón le tengo puesto

me.timerinterval=1000

Y en el evento Al cronómetro le digo que me alterne entre dos imágenes. Cuando pulso el botón, al cumplirse 1 segundo

Observarás que está fresquita. Y se ve durante 1 segundo, al cumplirse

Ya pasamos a las bebidas fuertes, y me las muestra durante un segundo y cuando haya transcurrido se repite el proceso.

Pues lo que te decía era que en el evento Al bajar una tecla( te decía lo de una sola porque si lo pones en cualquier tecla imagínate que abres el formulario y pulsas una. Se inicia el proceso, pero si la pulsaras otra vez, o pulsaras otra tecla, se reiniciaría el proceso)

Pues en ese evento es donde tienes que poner el intervalo de tiempo que quieres que se vea y no se vea, por ejemplo, dos segundos visible

me.timerinterval=2000

Luego en el evento Al cronómetro, es donde tienes que decirle que quieres que haga. En el caso particular tuyo yo pondría

Private Sub Form_Timer()
Static mostrar As Integer
If mostrar Then
LblClientes.Visible = True
Else
LblClientes.Visible = False
End If
mostrar = Not mostrar
End Sub

De todas formas, me parece que tienes mi correo. Si quieres un par de ejemplo, mándame un mensaje( sólo el mensaje) y a vuelta de correo te los mando.

Que paciencia tienes con migo.

Etiqueta44 es la etiqueta que quiero que haga intermitencia al pulsar una tecla,

En el evento al bajar una tecla esto

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 77 Then
Me.timeinterval = 500
End Sub

en el cronometro 

Private Sub Form_Timer()
Static mostrar As Integer
If mostrar Then
Me.Etiqueta44.Visible = True
Else
Me.Etiqueta44.Visible = False
End If
mostrar = Not mostrar

end if

Pero cuando abro el formulario hace la intermitencia sin pulsar ninguna tecla.

¿Pero en las propiedades del formulario-Eventos-Intervalo de cronómetro ha puesto un 0 en la cantidad que tuvieras puesta? Ten en cuenta, que a partir de ahora, el intervalo lo fijas tú con el código.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas