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)
| Name | Description | |
|---|---|---|
![]() | ConsoleKeyInfo(Char, ConsoleKey, Boolean, Boolean, Boolean) | 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^).) |
![]() | GetHashCode() | Returns the hash code for the current ConsoleKeyInfo object.(Overrides ValueType::GetHashCode().) |
![]() | GetType() | |
![]() | ToString() | Returns the fully qualified type name of this instance.(Inherited from ValueType.) |
| Name | Description | |
|---|---|---|
![]() ![]() | Equality(ConsoleKeyInfo, ConsoleKeyInfo) | Indicates whether the specified ConsoleKeyInfo objects are equal. |
![]() ![]() | Inequality(ConsoleKeyInfo, ConsoleKeyInfo) | 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 }
Available since 2.0
Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.



