2012-09-28 14 views
6

Ho un controllo utente. All'interno del controllo utente, c'è un PictureBox che utilizza l'intera proprietà dello schermo (Dock.Fill). Vorrei catturare gli eventi della tastiera (ad es. Ctrl-V per implementare la funzionalità Incolla).Propagazione evento tastiera in winform

Tuttavia, PictureBox non ha eventi chiave. Il livello successivo sotto PictureBox (ovvero il controllo utente) otterrà l'evento KeyUp? Se aggiungo il mio gestore di eventi KeyUp al controllo utente, funzionerà? So che WPF ha la soluzione degli eventi indirizzati. Come funziona nel mondo delle vinacce?

+0

PictureBox non mette a fuoco. Quindi sì, l'UserControl riceve i messaggi. Evita di fare in modo che la gestione da tastiera di un utente controlli la responsabilità del modulo. –

risposta

4

È possibile ricevere l'evento in forma. Vedi Form.KeyPreview.

Quando questa proprietà è impostata su true, il modulo riceverà tutti gli eventi KeyPress, KeyDown e KeyUp. Dopo che i gestori eventi del modulo hanno completato l'elaborazione della sequenza di tasti, il tasto viene quindi assegnato al controllo con focus

Problemi correlati