Exporter (0) Imprimer
Développer tout
Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

Console.TreatControlCAsInput, propriété

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.

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

public static bool TreatControlCAsInput { get; set; }

Valeur de propriété

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

ExceptionCondition
IOException

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

Si la valeur de la propriété TreatControlCAsInput est false et que la combinaison de touches Ctrl+C est enfoncée, les touches enfoncées ne sont pas stockées dans la mémoire tampon d'entrée et le système d'exploitation termine le processus en cours d'exécution. Valeur par défaut.

Mise en gardeAttention

Utilisez cette propriété judicieusement parce que sa définition avec la valeur true présente un effet dramatique. La plupart des utilisateurs s'attendent à ce que Ctrl+C termine une application console. Si vous désactivez l'effet de Ctrl+C, l'utilisateur doit se souvenir d'utiliser Ctrl+Pause pour terminer l'application, combinaison de touches qui lui est moins familière.

L'exemple suivant est une illustration de la propriété TreatControlCAsInput.


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

Pris en charge dans : 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (rôle principal du serveur non pris en charge), Windows Server 2008 R2 (rôle principal du serveur pris en charge avec SP1 ou version ultérieure ; Itanium non pris en charge)

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

Ajouts de la communauté

AJOUTER
Afficher:
© 2015 Microsoft