Ou vous pouvez utiliser MessageFilter de C#. Cela devrait fonctionner pendant que n'importe quel contrôle/formulaire du processus de votre application a l'accent.
Exemple de code:
class KeyboardMessageFilter : IMessageFilter
{
public bool PreFilterMessage(ref Message m)
{
if (m.Msg == ((int)Helper.WindowsMessages.WM_KEYDOWN))
{
switch ((int)m.WParam)
{
case (int)Keys.Escape:
// Do Something
return true;
case (int)Keys.Right:
// Do Something
return true;
case (int)Keys.Left:
// Do Something
return true;
}
}
return false;
}
}
Et que d'ajouter simplement une nouvelle MessageFilter à votre demande:
Application.AddMessageFilter(new KeyboardMessageFilter());
+1 pour la solution la plus propre, ce qui est également bon pour les événements de la souris. Merci! – AVIDeveloper
qu'est-ce que 'Helper' faire? et comment puis-je l'importer? –
http://stackoverflow.com/questions/31953297/the-name-helper-does-not-exist-in-the-current-context – niklon