Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All

Console.TreatControlCAsInput Property

Gets or sets a value indicating whether the combination of the Control modifier key and C console key (Ctrl+C) is treated as ordinary input or as an interruption that is handled by the operating system.

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)

'Declaration
Public Shared Property TreatControlCAsInput As Boolean

Property Value

Type: System.Boolean
true if Ctrl+C is treated as ordinary input; otherwise, false.

ExceptionCondition
IOException

Unable to get or set the input mode of the console input buffer.

If the value of the TreatControlCAsInput property is false and Ctrl+C is pressed, the pressed keys are not stored in the input buffer and the operating system terminates the currently executing process. This is the default value.

Caution noteCaution

Use this property judiciously because setting it to true has such a dramatic effect. Most users expect Ctrl+C to terminate a console application. If you disable the effect of Ctrl+C, the user must remember to use Ctrl+Break to terminate the application, which is a less familiar key combination.

The following example demonstrates the TreatControlCAsInput property.

Class Example
   Public Shared Sub Main()
      Dim cki As ConsoleKeyInfo
      ' 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: " + vbCrLf)
      Do
         cki = Console.ReadKey()
         Console.Write(" --- You pressed ")
         If (cki.Modifiers And ConsoleModifiers.Alt) <> 0 Then Console.Write("ALT+")
         If (cki.Modifiers And ConsoleModifiers.Shift) <> 0 Then Console.Write("SHIFT+")
         If (cki.Modifiers And ConsoleModifiers.Control) <> 0 Then Console.Write("CTL+")
         Console.WriteLine(cki.Key.ToString)
      Loop While cki.Key <> ConsoleKey.Escape
   End Sub  
End Class  
' 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

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Show:
© 2015 Microsoft