ConsoleKeyInfo Structure
Describes the console key that was pressed, including the character represented by the console key and the state of the SHIFT, ALT, and CTRL modifier keys.
Assembly: mscorlib (in mscorlib.dll)
The ConsoleKeyInfo type exposes the following members.
| Name | Description | |
|---|---|---|
![]() | ConsoleKeyInfo | Initializes a new instance of the ConsoleKeyInfo structure using the specified character, console key, and modifier keys. |
| Name | Description | |
|---|---|---|
![]() | Key | Gets the console key represented by the current ConsoleKeyInfo object. |
![]() | KeyChar | Gets the Unicode character represented by the current ConsoleKeyInfo object. |
![]() | Modifiers | Gets a bitwise combination of System::ConsoleModifiers values that specifies one or more modifier keys pressed simultaneously with the console key. |
| Name | Description | |
|---|---|---|
![]() | Equals(ConsoleKeyInfo) | Gets a value indicating whether the specified ConsoleKeyInfo object is equal to the current ConsoleKeyInfo object. |
![]() | Equals(Object) | Gets a value indicating whether the specified object is equal to the current ConsoleKeyInfo object. (Overrides ValueType::Equals(Object).) |
![]() | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.) |
![]() | GetHashCode | Returns the hash code for the current ConsoleKeyInfo object. (Overrides ValueType::GetHashCode().) |
![]() | GetType | Gets the Type of the current instance. (Inherited from Object.) |
![]() | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) |
![]() | ToString | Returns the fully qualified type name of this instance. (Inherited from ValueType.) |
| Name | Description | |
|---|---|---|
![]() ![]() | Equality | Indicates whether the specified ConsoleKeyInfo objects are equal. |
![]() ![]() | Inequality | Indicates whether the specified ConsoleKeyInfo objects are not equal. |
The ConsoleKeyInfo type is not intended to be created by users. Instead, it is returned to the user in response to calling the Console::ReadKey method.
The ConsoleKeyInfo object describes the ConsoleKey constant and Unicode character, if any, that correspond to the pressed console key. The ConsoleKeyInfo object also describes, in a bitwise combination of ConsoleModifiers values, whether one or more SHIFT, ALT, or CTRL modifier keys was pressed simultaneously with the console key.
The following example demonstrates using a ConsoleKeyInfo object in a read operation.
using namespace System; 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) != ConsoleModifiers()) Console::Write("ALT+"); if((cki.Modifiers & ConsoleModifiers::Shift) != ConsoleModifiers()) Console::Write("SHIFT+"); if((cki.Modifiers & ConsoleModifiers::Control) != ConsoleModifiers()) 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 }
Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.




