Ler em inglês

Compartilhar via


Console.TreatControlCAsInput Propriedade

Definição

Obtém ou define um valor que indica se a combinação da tecla modificadora Control e da chave do console C (Ctrl + C) é tratada como uma entrada comum ou como uma interrupção tratada pelo sistema operacional.

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; }

Valor da propriedade

Boolean

true se Ctrl + C for tratado como uma entrada comum; caso contrário, false.

Atributos

Exceções

Não é possível obter ou definir o modo de entrada do buffer de entrada do console.

Exemplos

O exemplo a seguir demonstra a TreatControlCAsInput propriedade.

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

Comentários

Se o valor da TreatControlCAsInput propriedade for false e CTRL + C for pressionado, as teclas pressionadas não serão armazenadas no buffer de entrada e o sistema operacional encerrará o processo em execução no momento. Este é o valor padrão.

Cuidado

Use essa propriedade criteriosamente porque configurá-la para true ter um efeito tão significativo. A maioria dos usuários espera CTRL + C para encerrar um aplicativo de console. Se você desabilitar o efeito de CTRL + C, o usuário deverá se lembrar de usar Ctrl + Break para encerrar o aplicativo, que é uma combinação de teclas menos familiar.

Aplica-se a

Produto Versões
.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

Confira também