256 votes

Ecoute de touche dans app console .NET

Comment puis-je continuer à exécuter mon application console jusqu'à une pression de touche (comme Esc est pressé ?

Je suis en supposant que son enroulé autour d’un certain temps boucle. Je n’aime pas `` car il bloque l’opération et demande une clé, plutôt que juste continuer et écoutez la touche.

Comment est-ce possible ?

383voto

Jeff Sternal Points 30147

Utilisation `` pour ce que vous appelez uniquement `` quand tu sais il ne bloque pas :

84voto

slugster Points 27178

Vous pouvez modifier votre approche légèrement - utiliser Console.ReadKey() pour arrêter votre application, mais faire votre travail dans un thread d’arrière-plan.

Dans le fonction vous devez ensuite appeler une autre fonction sur un thread d’arrière-plan (en utilisant ou `` est un moyen facile de le faire), puis du retourner immédiatement.

73voto

Iuliia Points 198

Le chemin le plus court :

13voto

waheed Points 31

Voici une aproche pour vous à dosomething sur un thread différent et commencer à écouter pour la touche enfoncée dans un thread différent. Et la Console va s’arrête il a traiter lorsque votre processus d’actuall se termine ou l’utilisateur termine le processus en appuyant sur la touche ÉCHAP.

5voto

LVBen Points 752

Si vous utilisez Visual Studio, puis vous pouvez utiliser « Exécuter sans débogage » dans le menu Déboguer.

Elle écrira automatiquement « Appuyez sur une touche pour continuer... » dans la console pour vous à la fin de l’application et il laissera la console ouverte pour vous jusqu'à ce qu’une touche est enfoncée.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X