J'ai un formulaire, un dessin personnalisé, pas de contrôles. Quand j'ai besoin d'obtenir l'entrée de l'utilisateur, je vais à l'événement OnKeyDown et ensuite mapper KeyData de l'événement à une chaîne ** - pour que je puisse reconnaître que l'utilisateur a pressé "ctrl X", etc, donc tout est presque ok ... le problème est avec les différents paramètres du clavier et la langue des lettres spécifiques - donc pour aujourd'hui mes utilisateurs seWinForms, Gestion de toutes les clés = OnKeyPress + OnKeyDown, mais comment?
ã -> un
ó -> o
Je dois donc l'événement KeyPress droit? Mais comment puis-je savoir que cet utilisateur a tapé par exemple '³' et non alt + L? Je ne peux pas comprendre cela depuis un moment maintenant ...
** - Je dois le faire comme ça puisque je laisse les utilisateurs configurer des raccourcis et utiliser .ToString() ne produit pas un texte aussi convivial que "OemPeriod, Control" ou mieux: "ControlKey, Control"
Hmm, corrigez-moi si je me trompe, mais KeyDown est avant l'événement KeyPress, alors ... En KeyDown je dois savoir si le les touches pressées vont être manipulées par KeyPress ... donc je vais utiliser ToUnicodeEx, non? Mais si j'utilise ToUnicodeEx, je n'aurai pas besoin de l'événement KeyPress, n'est-ce pas? – argh
Non, vous n'avez pas besoin de savoir. KeyPress vous le fera savoir. N'utilisez pas ToUnicodeEx(). –
Hmm Je le fais peut-être mal, mais je gère tout dans KeyDown et tout semble fonctionner correctement :) Mais pouvez-vous me montrer quelques lignes de pseudo-code à quoi ressemble votre solution? – argh