J'ai un contrôle avec les événements KeyDown et KeyUp comme indiqué ci-dessous. Le problème que j'ai est que 'x' est VRAI dans KeyDown mais toujours FALSE dans KeyUp. J'essaie de détecter la touche Alt (comme vous l'avez deviné).Problèmes de détection de la touche Alt sur l'événement Control.KeyUp
Y a-t-il une gottcha que je ne connais pas? Je veux dire, quand j'appuie sur Alt, il le détecte correctement, mais sur keyup c'est faux.
Toutes les suggestions/idées
Merci
private void MyControl_KeyDown(object sender, KeyEventArgs e)
{
bool x;
x = ((int) (e.KeyData & Keys.Alt) != 0);
x = (e.KeyData & Keys.Alt) == Keys.Alt;
x = e.Alt;
}
private void MyControl_KeyUp(object sender, KeyEventArgs e)
{
bool x;
x = ((int) (e.KeyData & Keys.Alt) != 0);
x = (e.KeyData & Keys.Alt) == Keys.Alt;
x = e.Alt;
}
Non, j'essaie juste de détecter la touche Alt c'est tout, pas de combinaison. – ababeel
J'ai ajouté du code pour juste Alt dans ma réponse ci-dessus. Parce que Alt sert à afficher les menus, vous devez faire un e.Handled = true, à moins que vous ne vouliez capturer que 50% des presses Alt. La vérification de KeyUp est légèrement différente de KeyDown (voir ci-dessus). Est-ce que ça marche pour toi? – bluecoder
Merci cela a fonctionné. – ababeel