2010-11-09 44 views
1

Dans la mesure où je sais que ce qui précède n'est pas possible dans le cas ci-dessous. Je l'explique en détails ici.Combinaison de la propriété Keypreview et de l'événement Keypress dans Winform

Supposons que si je Form1 et je l'ai mis est KeyPreview propriété = true que le

« Keyprees, Keydown et keyUp » Events sont des œuvres que pour WinForm pas pour leur enfant

objets/composants comme « zone de texte », » ListBox » etc.

ma question est: - Est-il possible de le travailler pour les winforms et les contrôles enfants.?

Est-il possible à la fois pour les formulaires et les contrôles en définissant la propriété keypreview de form1 sur true?

       Or By Any Other Way 

Répondre

2

Même si vous définissez cette propriété sur true, vous serez toujours en mesure d'attraper les événements pour les contrôles enfants, mais vous pourrez également prendre un événement « aperçu » sur la forme et cela vous donne essentiellement l'opportunité de gérer l'événement avant que la plate-forme ne le transmette au contrôle enfant. Le MSDN explanation est concluant.

+0

@Liviu M, le lien suggéré affiche la séquence de touches reçue uniquement pour les formulaires qui ne sont pas destinés aux contrôles enfants – mahesh

+0

C'est l'exemple. Vous ne devez pas définir la propriété e.Handled sur true pour que l'événement soit propagé. –

+0

@Liviu, Voulez-vous dire Si je mets la propriété e.handle à true pour form1_Keydown Eventhandler que cela fonctionne pour textbox1_Keypress eventhandler? – mahesh