Afficher en anglais

Partage via


Console.TreatControlCAsInput Propriété

Définition

Obtient ou définit une valeur qui indique si la combinaison de la touche de modification Control et de la touche de console (Ctrl+C) C est traitée comme une entrée ordinaire ou comme une interruption gérée par le système d'exploitation.

C#
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public static bool TreatControlCAsInput { get; set; }
C#
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
[System.Runtime.Versioning.UnsupportedOSPlatform("android")]
[System.Runtime.Versioning.UnsupportedOSPlatform("ios")]
[System.Runtime.Versioning.UnsupportedOSPlatform("tvos")]
public static bool TreatControlCAsInput { get; set; }
C#
public static bool TreatControlCAsInput { get; set; }

Valeur de propriété

Boolean

true si Ctrl+C est traité comme entrée ordinaire ; sinon, false.

Attributs

Exceptions

Impossible d’obtenir ou définir le mode d’entrée de la mémoire tampon d’entrée de la console.

Exemples

L’exemple suivant illustre la TreatControlCAsInput propriété.

C#
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

Remarques

Si la valeur de la TreatControlCAsInput propriété est false et que CTRL + C est enfoncé, les touches enfoncées ne sont pas stockées dans la mémoire tampon d’entrée et le système d’exploitation met fin au processus en cours d’exécution. Il s’agit de la valeur par défaut.

Précaution

Utilisez cette propriété judicieusement, car sa définition sur true a un effet spectaculaire. La plupart des utilisateurs s’attendent à ce que CTRL + C mette fin à une application console. Si vous désactivez l’effet de Ctrl + C, l’utilisateur doit penser à utiliser Ctrl + Pause pour mettre fin à l’application, qui est une combinaison de touches moins familière.

S’applique à

Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1

Voir aussi