Propiedad Console.TreatControlCAsInput en C# con ejemplos

Console.TreatControlCAsInput Property se usa para obtener o establecer un valor que indica si la combinación de la tecla modificadora Control y la tecla de consola C (Ctrl+C) se trata como una entrada ordinaria o como una interrupción que maneja el sistema operativo.

Sintaxis:

public static bool TreatControlCAsInput { get; set; }

Valor de la propiedad: esta propiedad devuelve verdadero si Ctrl+C se trata como una entrada ordinaria. De lo contrario, es falso, significa que si la entrada es Ctrl+C , el programa finaliza.

Excepción: esta propiedad dará IOException si el programa no puede obtener o establecer el modo de entrada del búfer de entrada de la consola.

Los siguientes programas ilustran el uso de la propiedad discutida anteriormente:

Ejemplo 1:

// C# program to illustrate the use of
// Console.TreatControlCAsInput Property
using System;
  
class GFG {
  
    // Main Method
    public static void Main()
    {
        ConsoleKeyInfo c;
  
        // Prevent program from terminating 
        // if CTL+C is pressed.
        Console.TreatControlCAsInput = true;
  
        Console.WriteLine("Press any key with combination of CTL, "+
                    "ALT, and SHIFT or Press the Esc to quit: \n");
  
        do {
  
            c = Console.ReadKey();
            Console.Write(" - pressed key is ");
  
            // only prints the pressed keys
            Console.WriteLine(c.Key.ToString());
  
          // condition for Exit
        } while (c.Key != ConsoleKey.Escape);
          
    }
}

Producción:

Ejemplo 2:

// C# program to illustrate the use of
// Console.TreatControlCAsInput Property
using System;
  
class GFG {
  
    // Main Method
    public static void Main()
    {
        ConsoleKeyInfo c;
  
        // Prevent program from terminating 
        // if CTL+C is pressed.
        Console.TreatControlCAsInput = true;
  
        Console.WriteLine("Press any key with combination of CTL, "+
                     "ALT, and SHIFT or Press the Esc to quit: \n");
  
        do {
  
            c = Console.ReadKey();
            Console.Write("pressed key is ");
  
            // conditions-
            if ((c.Modifiers & ConsoleModifiers.Shift) != 0)
                Console.Write("SHIFT + ");
  
            if ((c.Modifiers & ConsoleModifiers.Control) != 0)
                Console.Write("CTL + ");
  
            if ((c.Modifiers & ConsoleModifiers.Alt) != 0)
                Console.Write("ALT + ");
  
            // prints the pressed keys
            Console.WriteLine(c.Key.ToString());
             
          // condition for Exit
        } while (c.Key != ConsoleKey.Escape);
          
    }
}

Producción:

cuando es falso

using System;
  
class GFG {
  
    // Main Method
    public static void Main()
    {
        ConsoleKeyInfo c;
  
        // Prevent program from terminating 
        // if CTL+C is pressed.
        Console.TreatControlCAsInput = false;
  
        Console.WriteLine("Press any key with combination of CTL,"+
                  " ALT, and SHIFT or Press the Esc to quit: \n");
  
        do {
            c = Console.ReadKey();
            Console.Write(" - pressed key is ");
  
            // only prints the pressed keys
            Console.WriteLine(c.Key.ToString());
              
          // condition for Exit
        } while (c.Key != ConsoleKey.Escape);
          
    }
}

Producción :

Press any key with combination of CTL, ALT, and SHIFT or Press the Esc to quit:

a - pressed key is A
b - pressed key is B
g - pressed key is G

// Here after these input we press Ctrl+C, 
// then the program is terminated.

Referencia:

Publicación traducida automáticamente

Artículo escrito por SoumikMondal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *