Condividi tramite


Input utente in un'applicazione Windows Forms

In Windows Form l'input dell'utente viene inviato alle applicazioni sotto forma di messaggi di Windows. Una serie di metodi sottoponibili a override elabora questi messaggi a livello di applicazione, modulo e controllo. Quando questi metodi ricevono messaggi tramite mouse e tastiera, generano eventi che possono essere gestiti per ottenere informazioni sull'input del mouse o della tastiera. In molti casi, le applicazioni Windows Form potranno elaborare tutto l'input dell'utente semplicemente gestendo questi eventi. In altri casi, un'applicazione potrebbe dover eseguire l'override di uno dei metodi che elaborano i messaggi per intercettare un determinato messaggio prima che venga ricevuto dall'applicazione, dal modulo o dal controllo.

Gli eventi del mouse e della tastiera

Tutti i controlli Windows Form ereditano un set di eventi correlati all'input del mouse e della tastiera. Ad esempio, un controllo può gestire l'evento KeyPress per determinare il codice carattere di un tasto premuto oppure un controllo può gestire l'evento MouseClick per determinare la posizione di un clic del mouse. Per ulteriori informazioni sugli eventi del mouse e della tastiera, consultare Using Keyboard Events e Mouse Events in Windows Forms.

Metodi che elaborano i messaggi di input dell'utente

I moduli e i controlli hanno accesso all'interfaccia IMessageFilter e a un set di metodi sostituibili che elaborano i messaggi di Windows in punti diversi nella coda dei messaggi. Questi metodi hanno tutti un parametro Message, che incapsula i dettagli di basso livello dei messaggi di Windows. È possibile implementare o eseguire l'override di questi metodi per esaminare il messaggio e quindi utilizzare il messaggio o passarlo al consumer successivo nella coda dei messaggi. Nella tabella seguente vengono illustrati i metodi che elaborano tutti i messaggi di Windows in Windows Form.

Metodo Note
PreFilterMessage Questo metodo intercetta i messaggi Windows in coda (noti anche come pubblicati) a livello dell'applicazione.
PreProcessMessage Questo metodo intercetta i messaggi di Windows a livello di modulo e di controllo prima dell'elaborazione.
WndProc Questo metodo elabora i messaggi di Windows sia a livello di modulo che di controllo.
DefWndProc Questo metodo esegue l'elaborazione predefinita dei messaggi di Windows a livello di modulo e controllo. In questo modo viene fornita la funzionalità minima di una finestra.
OnNotifyMessage Questo metodo intercetta i messaggi a livello di modulo e controllo, dopo l'elaborazione. Per chiamare questo metodo, è necessario impostare il bit di stile EnableNotifyMessage.

I messaggi tramite tastiera e mouse vengono elaborati anche da un set aggiuntivo di metodi sostituibili specifici di tali tipi di messaggi. Per ulteriori informazioni, vedere Funzionamento dell'input da tastiera e Funzionamento dell'input del mouse in Windows Forms.

Vedere anche