В WPF как узнать, является ли нажатая клавиша клавишей ввода или нет (та, которая что-то печатает или нет)? - PullRequest
2 голосов
/ 05 июля 2011

У меня есть какое-то требование, в котором я должен выяснить, является ли нажатая клавиша клавишей ввода.

У меня есть TextBox с событием previewkeydown.

 <TextBox PreviewKeyDown="MyTextBox_PreviewKeyDown" ></TextBox>

Тогда яздесь есть код для обработчика событий

    private void MyTextBox_PreviewKeyDown(object sender, KeyEventArgs e)
    {
        //I need to find out here if key pressed is 
        // an input key something like
        // if ( key is between a to z or 0 to 9 or some_character_input)
        // {
        //
        // }   
        //else 
        //{
        //     Key is either F1,F2,UpArrow, DownArrow, etc
        // }
    }

Пожалуйста, объясните мне, как это сделать.

1 Ответ

3 голосов
/ 05 июля 2011

(int) e. Клавиши между 44 и 69 являются алфавитами.Между 90 и 113 находятся функциональные клавиши.Декомпилируя перечисление System.Windows.Input.Key в рефлекторе или dotpeek, вы получите значения для всех ключей.

...