2010-10-05 3 views
0

У этой функции много применений. У меня есть элемент управления TextBox. Как отображать клавиши, которые пользователь нажал. Например, нажатые CTRL и z в элементе управления TextBox должны появиться «Ctrl + Z»? Это приложение WPF. Благодарю.Определение того, какая клавиша нажата

Теперь я пытаюсь так:

private void txtHotKey_PreviewKeyUp(object sender, KeyEventArgs e) 
    {    
     txtHotKey.Text += e.Key.ToString(); 
     txtHotKey.Text += "+"; 
     e.Handled = true; 
    } 

Теперь, если я нажал Ctrl и Z в текстовом поле появится "Ctrl + Z +". Затем нажмите Ctrl и A. Будет «Ctrl + Z + Ctrl + A +». Это не правильно.

ответ

4

Вы просмотрели KeyEventArgs, который вы передали обработчику событий KeyDownTextBox? У этого есть много свойств, которые определяют, какой ключ был нажат.

+0

+1 для простого и простого решения. – Nayan

0

Взгляните на следующий пост с примерами кода: Capture key press events with WPF

ли она вам? Вы можете либо подключиться к сетке (или текстовому полю) с помощью обработчика событий KeyDown, либо использовать метод Window_KeyDown.

Смежные вопросы