Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

Console.ReadKey méthode ()

 

Date de publication : novembre 2016

Obtient le caractère suivant ou la touche de fonction sur laquelle l'utilisateur a appuyé. La touche enfoncée s'affiche dans la fenêtre de console.

Espace de noms:   System
Assembly:  mscorlib (dans mscorlib.dll)

[HostProtectionAttribute(SecurityAction.LinkDemand, UI = true)]
public static ConsoleKeyInfo ReadKey()

Valeur de retour

Type: System.ConsoleKeyInfo

Objet qui décrit la constante ConsoleKey et, le cas échéant, le caractère Unicode qui correspond à la touche de console enfoncée. L'objet ConsoleKeyInfo décrit également, dans une combinaison d'opérations de bits de valeurs ConsoleModifiers, si une ou plusieurs touches de modification MAJ, ALT ou CTRL ont été enfoncées en même temps que la touche de console.

Exception Condition
InvalidOperationException

La propriété In est redirigée à partir d’un flux autre que la console.

Le ReadKey méthode attend, autrement dit, des blocs sur le thread émettant le ReadKey (méthode), jusqu'à ce qu’une touche de caractère ou une fonction est activée. Une touche de fonction ou de caractère peut enfoncée en association avec un ou plusieurs touches de modification MAJ, Ctrl ou Alt. Toutefois, en appuyant sur une touche de modification par lui-même n’entraîne pas la ReadKey retour de méthode.

Selon votre application, vous souhaiterez peut-être utiliser le ReadKey méthode conjointement avec le KeyAvailable propriété.

Le ReadKey méthode lit à partir du clavier, même si l’entrée standard est redirigée vers un fichier avec le SetIn (méthode).

Le plus souvent utilisé pour la ReadKey() méthode consiste à arrêter l’exécution du programme jusqu'à ce que l’utilisateur appuie sur une clé et l’application se termine ou affiche une fenêtre supplémentaire d’informations. L’exemple suivant utilise la ReadKey() méthode pour attendre que l’utilisateur appuie sur la touche entrée avant de mettre fin à l’application.

using System;

public class Example
{
   public static void Main()
   {
      DateTime dat = DateTime.Now;
      Console.WriteLine("The time: {0:d} at {0:t}", dat);
      TimeZoneInfo tz = TimeZoneInfo.Local;
      Console.WriteLine("The time zone: {0}\n", 
                        tz.IsDaylightSavingTime(dat) ?
                           tz.DaylightName : tz.StandardName);
      Console.Write("Press <Enter> to exit... ");
      while (Console.ReadKey().Key != ConsoleKey.Enter) {}
   }
}
// The example displays output like the following:
//     The time: 11/11/2015 at 4:02 PM:
//     The time zone: Pacific Standard Time

Note that this overload of the Overload:System.Console.ReadKey method by default echoes any displayable keys that the user presses to the console. To suppress them, call the M:System.Console.ReadKey(System.Boolean) method with an intercept argument of true.

L’exemple suivant utilise la ReadKey() méthode pour afficher des informations sur les clés de l’utilisateur a appuyé sur...

using System;

class Example 
{
   public static void Main() 
   {
      ConsoleKeyInfo cki;
      // Prevent example from ending if CTL+C is pressed.
      Console.TreatControlCAsInput = true;

      Console.WriteLine("Press any combination of CTL, ALT, and SHIFT, and a console key.");
      Console.WriteLine("Press the Escape (Esc) key to quit: \n");
      do 
      {
         cki = Console.ReadKey();
         Console.Write(" --- You pressed ");
         if((cki.Modifiers & ConsoleModifiers.Alt) != 0) Console.Write("ALT+");
         if((cki.Modifiers & ConsoleModifiers.Shift) != 0) Console.Write("SHIFT+");
         if((cki.Modifiers & ConsoleModifiers.Control) != 0) Console.Write("CTL+");
         Console.WriteLine(cki.Key.ToString());
       } while (cki.Key != ConsoleKey.Escape);
    }
}
// This example displays output similar to the following:
//       Press any combination of CTL, ALT, and SHIFT, and a console key.
//       Press the Escape (Esc) key to quit:
//       
//       a --- You pressed A 
//       k --- You pressed ALT+K 
//       ► --- You pressed CTL+P 
//         --- You pressed RightArrow 
//       R --- You pressed SHIFT+R 
//                --- You pressed CTL+I 
//       j --- You pressed ALT+J 
//       O --- You pressed SHIFT+O 
//       § --- You pressed CTL+U 

.NET Framework
Disponible depuis 2.0
Retour au début
Afficher: