Maison > développement back-end > C++ > Comment capturer et traiter les événements de pression de touche dans les applications console C# ?

Comment capturer et traiter les événements de pression de touche dans les applications console C# ?

Mary-Kate Olsen
Libérer: 2025-01-04 12:38:40
original
841 Les gens l'ont consulté

How Do I Capture and Process Key Press Events in C# Console Applications?

Gestion des événements de pression sur les touches dans les applications de console C#

Dans les applications de console C#, la surveillance des entrées utilisateur via les pressions sur les touches est cruciale pour les programmes interactifs. Une question courante se pose : Comment pouvons-nous capturer et traiter les événements de pression sur les touches ?

Mauvaise approche

L'extrait de code fourni tente d'utiliser l'événement PreviewKeyDownEventArgs pour écouter les pressions sur les touches. . Cependant, cette approche est incorrecte pour les applications console car elle concerne les applications Windows Forms.

Approche correcte

Pour gérer les événements de pression sur une touche dans une application console, nous pouvons utiliser la méthode ReadKey() de la classe Console. Cette méthode attend que l'utilisateur appuie sur une touche et renvoie un objet ConsoleKeyInfo contenant des informations sur la touche enfoncée.

Voici un exemple de programme qui capture et affiche la touche enfoncée par l'utilisateur :

public class Program
{
    public static void Main()
    {
        ConsoleKeyInfo keyinfo;
        do
        {
            keyinfo = Console.ReadKey();
            Console.WriteLine(keyinfo.Key + " was pressed");
        }
        while (keyinfo.Key != ConsoleKey.X);
    }
}
Copier après la connexion

Explication

La méthode ReadKey() lit une seule frappe dans le tampon d'entrée de la console et la stocke dans le variable d'information clé. La propriété Key de l'objet ConsoleKeyInfo représente la touche qui a été enfoncée.

La boucle do-while invite continuellement l'utilisateur à saisir une entrée jusqu'à ce qu'il appuie sur la touche « X », ce qui quitte le programme. Chaque fois qu'une touche est enfoncée, sa valeur est affichée sur la console.

Remarque : Cette approche nécessite que l'application console ait le focus. Pour capturer les événements de presse clés à l'échelle du système, envisagez d'utiliser des hooks Windows, une technique plus avancée.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal