Maison >développement back-end >C++ >Comment gérer les événements de pression sur les touches de la console en C# ?

Comment gérer les événements de pression sur les touches de la console en C# ?

Susan Sarandon
Susan Sarandonoriginal
2025-01-04 01:07:391068parcourir

How to Handle Console Key Press Events in C#?

Gestion des événements de pression sur les touches de la console en C#

Dans les applications console, la capture des frappes au clavier nécessite une approche différente des applications GUI traditionnelles. En C#, l'extrait de code suivant vous permet de vous inscrire à des événements d'appui sur des touches dans une application console :

public class Program
{
    public static void Main()
    {
        // Read keystrokes until the 'X' key is pressed
        ConsoleKeyInfo keyinfo;
        do
        {
            keyinfo = Console.ReadKey();
            // Display the pressed key
            Console.WriteLine(keyinfo.Key + " was pressed");
        }
        while (keyinfo.Key != ConsoleKey.X);
    }
}

Explication :

  • Console.ReadKey( ) : Capture la prochaine touche enfoncée par l'utilisateur sans l'afficher sur la console.
  • La touche enfoncée est stockée dans un ConsoleKeyInfo structure, donnant accès à la touche qui a été enfoncée.
  • La boucle do-while continue de lire et d'afficher les touches enfoncées jusqu'à ce que la touche « X » soit enfoncée, ce qui quitte la boucle.

Remarque : Pour que les applications de console capturent les événements de presse clés, elles nécessitent une concentration. Si votre application n'a pas le focus, elle ne recevra pas les événements presse clés.

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!

Déclaration:
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