This documentation is archived and is not being maintained.

ConsoleKeyInfo::KeyChar Property

Gets the Unicode character represented by the current ConsoleKeyInfo object.

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

public:
property wchar_t KeyChar {
	wchar_t get ();
}

Property Value

Type: System::Char
An object that corresponds to the console key represented by the current ConsoleKeyInfo object.

If the key pressed does not map to a Unicode character (for example, if the user presses the F1 key or the Home key), the value of the KeyChar property is \U0000.

The following example uses the KeyChar property to add the characters input by the user into a string. The example ignores special keys other than ENTER, ESC, and BACKSPACE.


using namespace System;

int main(array<System::String ^> ^args)
{
    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 (((int)cki.Modifiers && (int)ConsoleModifiers::Alt) != 0) Console::Write("ALT+");
      if (((int)cki.Modifiers && (int)ConsoleModifiers::Shift) != 0) Console::Write("SHIFT+");
      if (((int)cki.Modifiers && (int)ConsoleModifiers::Control) != 0) Console::Write("CTL+");
      Console::WriteLine(cki.Key.ToString());
   } while (cki.Key != ConsoleKey::Escape);


   return 0;
}
// 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, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

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.
Show: