I have a TextBox
in my form and I added this event on it:
private void txtValue_KeyDown(object sender, KeyEventArgs e)
{
MessageBox.Show(e.KeyData.ToString());
}
But it always prints the upper case of the letter even though I entered a lower case letter in the textBox. Please see image below:
How should I get the right display? Thanks...
If you handle the
KeyPress
event instead, you can examine theKeyChar
property ofKeyPressEventArgs
to get the correct case.KeyDown
andKeyUp
useKeyEventArgs
, which exposes theKeys
enum via theKeyData
property. The enum does not have representation for lower-case alphabetic values.http://msdn.microsoft.com/en-us/library/system.windows.forms.keys.aspx
The
KeyPress
event allows you to get the actual character of the key pressed viaKeyPressEventArgs.KeyChar
.