Parliamo un po' con il codice...
Allora, con una situazione iniziale come questa:
Public Sub Label1_Enter()
Wait 4
Print "Alibaba"
End
...se durante quei 4 secondi passo all'interno della Label1 con il topastro ⁓O⑆ avrò al termine di quei secondi la scritta in console tante volte quante il muso del ratto è entrato nella Label.
Bene....
allora ho usato il Timer, come ho detto in precedenza, l'evento avviene ogni volta che il mouse entra nella Label1, ma si scatena e così non v'è coda:
Public Sub Label1_Enter()
Timer1.Enabled = True
' se si entrerà nell'area della Label1 fin tanto che la variabile "a" è minore di 20,
' allora l'evento si "scaricherà" nel... nulla eterno:
If a < 20 Then Return
' Quando invece sarà raggiunto il valore 20,
' il processo passerà da qui:
Print "Alibaba"
End
Public Sub Timer1_Timer()
Timer1.Delay = 100
If a = 30 Then Timer1.Enabled = False
Inc a
End
Poco fa ho fatto qualche prova nuovamente con il WAIT, usando un escamotage più brutale :devil: :
Private tempo As Byte
Public Sub Label1_Enter()
Inc tempo
' anche in questo caso l'evento si scatena,
' ma si scarica nel... vuoto infinito galattico:
If tempo > 1 Then Return
Wait 3
Print "Alibaba"
tempo = 0
End
...in questo modo la scrittura in console avverrà soltanto una volta.
Se al posto di Return uso Stop Event, l'escamotage non funziona come desiderato.
io intendevo qualcosa del tipo:
private premuto as boolean
PUBLIC SUB Label1_Enter()
IF premuto = FALSE THEN
PRINT "Alibaba"
premuto = TRUE
ELSE
STOP EVENT
ENDIF
END