Differenze tra le versioni di "Impedire, mentre si tiene premuto un tasto della tastiera, si produca il medesimo effetto cliccando su un altro tasto"
(Una versione intermedia di uno stesso utente non è mostrata) | |||
Riga 1: | Riga 1: | ||
− | Il caso è quello in cui si intende evitare che, mentre si tiene premuto un tasto prima che sia stato rilasciato per la produzione di un effetto mediante l' | + | Il caso è quello in cui si intende evitare che, mentre si tiene premuto un tasto prima che sia stato rilasciato per la produzione di un effetto mediante l'Evento "_KeyRelease()", si intende impedire che - dopo aver eventualmente premuto un altro tasto - possa produrre il medesimo effetto anch'esso con l'Evento "_KeyRelease()". <SUP>[[[#Note|nota 1]]]</sup> |
− | |||
Mostriamo un codice per ottenere quella inibizione. In particolare i tasti della tastiera, presi in considerazione, sono il tasto della freccia a sinistra e quello della freccia a destra. L'obiettivo è quello per cui, sin tanto che si tiene premuto uno dei due tasti, premendo eventualmente l'altro, non si produce alcun effetto. | Mostriamo un codice per ottenere quella inibizione. In particolare i tasti della tastiera, presi in considerazione, sono il tasto della freccia a sinistra e quello della freccia a destra. L'obiettivo è quello per cui, sin tanto che si tiene premuto uno dei due tasti, premendo eventualmente l'altro, non si produce alcun effetto. | ||
Riga 6: | Riga 5: | ||
− | + | Public Sub Form_KeyPress() | |
If status > 0 Then Return | If status > 0 Then Return | ||
status = Key.Code | status = Key.Code | ||
− | + | End | |
− | + | Public Sub Form_KeyRelease() | |
If Key.Code <> status Then Return | If Key.Code <> status Then Return | ||
Riga 27: | Riga 26: | ||
status = 0 | status = 0 | ||
− | + | End | |
+ | |||
+ | |||
+ | |||
+ | =Note= | ||
+ | [1] Vedere anche la pagina: [[Impedire che cliccando su un tasto della tastiera si produca più volte il medesimo effetto]] |
Versione attuale delle 18:10, 1 nov 2023
Il caso è quello in cui si intende evitare che, mentre si tiene premuto un tasto prima che sia stato rilasciato per la produzione di un effetto mediante l'Evento "_KeyRelease()", si intende impedire che - dopo aver eventualmente premuto un altro tasto - possa produrre il medesimo effetto anch'esso con l'Evento "_KeyRelease()". [nota 1]
Mostriamo un codice per ottenere quella inibizione. In particolare i tasti della tastiera, presi in considerazione, sono il tasto della freccia a sinistra e quello della freccia a destra. L'obiettivo è quello per cui, sin tanto che si tiene premuto uno dei due tasti, premendo eventualmente l'altro, non si produce alcun effetto.
Private status As Integer Public Sub Form_KeyPress() If status > 0 Then Return status = Key.Code End Public Sub Form_KeyRelease() If Key.Code <> status Then Return Select Case Key.Code Case Key.Right Print "Freccia a destra" Case Key.Left Print "Freccia a sinistra" End Select status = 0 End
Note
[1] Vedere anche la pagina: Impedire che cliccando su un tasto della tastiera si produca più volte il medesimo effetto