Ho un modulo con diversi controlli. Voglio eseguire un sub specifico su evento keydown indipendentemente da qualsiasi evento di controllo. Voglio dire se l'utente preme Ctrl + S ovunque sul modulo esegue una subroutine.evento di keydown vb.net su intero modulo
risposta
È necessario impostare la proprietà KeyPreview sul modulo su True e gestire l'evento keydown ci
Quando questa proprietà è impostata su true, la forma riceverà tutte KeyPress, KeyDown , e gli eventi KeyUp. Dopo che gli handler di evento del modulo hanno completato l'elaborazione del tasto , il tasto viene assegnato a il controllo con lo stato attivo. .......... Per gestire gli eventi della tastiera solo a livello di modulo e non consentire ai comandi di ricevere eventi di tastiera , impostare la proprietà KeyPressEventArgs.Handled nel gestore di eventi KeyPress del modulo su true.
Così, ad esempio, per gestire la combinazione di tasti Control + S è possibile scrivere questo gestore di eventi per l'evento KeyDown del modulo.
Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As KeyEventArgs) Handles MyBase.KeyDown
If e.Control AndAlso e.KeyCode = Keys.S then
' Call your sub method here .....
YourSubToCall()
' then prevent the key to reach the current control
e.Handled = False
End If
End Sub
Ho usato questo codice nelle mie forme prima e sembra funzionare piuttosto bene.
Protected Overrides Function ProcessKeyPreview(ByRef m As System.Windows.Forms.Message) As Boolean
If m.Msg = &H100 Then 'WM_KEYDOWN
Dim key As Keys = m.WParam
If key = Keys.S And My.Computer.Keyboard.CtrlKeyDown Then
'DO stuff
Return True
End If
End If
Return MyBase.ProcessKeyPreview(m)
End Function
- 1. keycode su evento keydown
- 2. Opera preventDefault() su evento keydown
- 3. evento keydown su un iframe
- 4. Silverlight 4 + MVVM + KeyDown evento
- 5. Windows.Form non attiva keyDown evento
- 6. Ottieni evento keyDown per un NSTextField
- 7. Trigger keydown su Plus.Google.com
- 8. Centra un'etichetta su qualsiasi modulo VB.NET
- 9. VB.NET - Passaggio di un evento come parametro
- 10. Modulo intero onChange
- 11. Evento Application.Exit() e FormClosing in Vb.net
- 12. jQuery/Javascript - Rifiuta tasti "di controllo" a keyDown evento
- 13. Javascript: Evento Keydown: tasto freccia "Su" che impedisce ulteriori eventi Keydown con i tasti freccia? (risposta: tastiera fantasma)
- 14. jQuery: Come catturare keydown + evento click del mouse?
- 15. Conversione di un modulo VB6 in VB.NET
- 16. Convertire booleano per intero in VB.NET
- 17. Attiva un evento keypress/keydown/keyup in JS/jQuery?
- 18. Rileva i tasti CTRL e SHIFT senza evento keydown?
- 19. forza keydown evento a fuoco una sola volta per keyCode
- 20. in evento keydown get charecter in lingua diversa
- 21. Concat KeyDown evento (chiavi) a una stringa C# (wpf)
- 22. Differenza tra Carica evento, Attiva evento e Inserisci evento nel modulo
- 23. preventDefault() su evento keyup non funzionante
- 24. forme gravitazionali evento fuoco js su invio modulo di successo
- 25. Come si crea un evento annullabile in vb.net
- 26. KeyDown e Cocoa Sample
- 27. addEventListener per il keydown su Canvas
- 28. Attivazione di un evento keydown a livello di programmazione in vaniglia Javascript
- 29. Convalidare un modulo su evento Click con validatore jQuery
- 30. Come attivare un evento keyup/keydown in un test di unità angularjs?
Grazie Steve ... è molto utile – Malik