Question

Je souhaite que ^ N fonctionne de la même manière que la flèche vers le bas dans un contrôle d’arborescence. j'ai pensé Il me suffirait d'ajouter ce qui suit au gestionnaire KeyDown:

SendKeys.Send("{Down}");

mais cela est traité comme une flèche Contrôle-Bas puisque la touche Contrôle est actuellement pressé. La page msdn décrit comment allumer le modificateur de contrôle mais pas comment le désactiver.

Merci, Keith

Était-ce utile?

La solution

Désolé de venir en retard à la fête mais je pense avoir trouvé une solution:

D'abord, importez SetKeyboardState:

[DllImport("user32.dll")]
public static extern bool SetKeyboardState(byte[] lpKeyState);

Ensuite, appelez-le simplement avec un tableau d'octets mis à zéro avant d'appeler SendKeys.Send ():

SetKeyboardState(new byte[256]);
SendKeys.Send("your key sequence");

Cela a fonctionné pour moi. J'espère que cela aide!

Autres conseils

Vous pouvez p / invoke sur keybd_event. Cela vous permettra de simuler une clé étant à la fois dans " up " et " down " état.

Voici le moyen difficile de le faire. J'admets que ce n'est pas la façon optimale de le faire. Je suis sûr que vous le savez déjà. Vous voudrez peut-être surcharger la méthode WindProc du contrôle & amp; utilisez SendMsg Win32 Api. C’est ainsi que j’avais l'habitude de faire fonctionner les choses dans la journée.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top