ConsoleKeyInfo.Modifiers Property


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Gets a bitwise combination of System.ConsoleModifiers values that specifies one or more modifier keys pressed simultaneously with the console key.

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

public ConsoleModifiers Modifiers { get; }

Property Value

Type: System.ConsoleModifiers

A bitwise combination of the enumeration values. There is no default value.

The following example demonstrates using a Modifiers property in a read operation.

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");
         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+");
       } 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
Available since 2.0
Return to top