Всегда в верхнем регистре ... (C # winforms) - PullRequest
4 голосов
/ 09 сентября 2010

У меня есть TextBox в моей форме, и я добавил это событие:

private void txtValue_KeyDown(object sender, KeyEventArgs e)
        {
            MessageBox.Show(e.KeyData.ToString());
        }

Но он всегда печатает верхний регистр буквы, даже если я ввел строчную букву в текстовом поле. Пожалуйста, смотрите изображение ниже:

my form

Как мне правильно выбрать дисплей? Спасибо ...

Ответы [ 2 ]

3 голосов
/ 09 сентября 2010

KeyDown и KeyUp используют KeyEventArgs, что предоставляет перечисление Keys через свойство KeyData.Перечисление не имеет представления для строчных буквенных значений.

http://msdn.microsoft.com/en-us/library/system.windows.forms.keys.aspx

Событие KeyPress позволяет получить фактический символ нажатой клавиши с помощью KeyPressEventArgs.KeyChar.

private void txtValue_KeyPress(object sender, KeyPressEventArgs e)
{
    MessageBox.Show(e.KeyChar.ToString());
} 
3 голосов
/ 09 сентября 2010

Если вместо этого вы обрабатываете событие KeyPress, вы можете проверить свойство KeyChar KeyPressEventArgs, чтобы получить правильный регистр.

...