.NET 2.0+Checking Caps Lock Status
Textboxes can be set to hide secret information, such as passwords. If such a textbox receives the focus whilst Caps Lock is on a warning is displayed. There are other situations where you may want to check the Caps Lock status. This tip explains how.
Console Class
The Console class is a standard class within the System namespace. It represents the standard input, output and error streams for console applications but is available to other types of project too.
When using the .NET framework 2.0 and later, the Console class definition includes a property named CapsLock. This property returns a Boolean value representing the state of the Caps Lock key on the keyboard. If the property value is true, Caps Lock is enabled. If it is false, Caps Lock is switched off.
If you wish to determine the status of the Caps Lock key using the Console class, you can simply check the property's value, as in the sample code below:
if (Console.CapsLock) Console.WriteLine("Caps Lock is on!");
Control Class
The Control class is a standard class within the System.Windows.Forms namespace. The DLL containing this namespace is automatically included in Windows Forms applications. The class includes a method named IsKeyLocked, which allows you to determine whether keys such as Caps Lock are switched on or off. To check the status of the Caps Lock key, you can use the method in the following manner:
if (Control.IsKeyLocked(Keys.CapsLock)) MessageBox.Show("Caps Lock is on!");
27 July 2008