C # Key Press; отображать ключ в метке - PullRequest
1 голос
/ 05 марта 2012

У меня есть форма (Form1) и метка (lblTest)

Какой код нужно вставить, чтобы при нажатии любой клавиши она отображалась в метке?Это событие должно происходить, когда выбрана форма

Например, если пользователь нажимает g , в метке отображается g.

Я попробовал некоторый кодв событии Form_KeyDown, но я не могу заставить его работать.

В настоящее время я смотрю на это .

Ответы [ 3 ]

2 голосов
/ 05 марта 2012

Необходимо добавить

form1.KeyPreview = true;

(или установить в конструкторе)

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

1 голос
/ 05 марта 2012

Попробуйте с этим кодом, если вам нужно построить строку:

private void Form1_KeyDown(object sender, KeyEventArgs e)
{
    lblControl.Text += (char) e.KeyCode;
}

иначе, если вам нужно показать только нажатую кнопку:

private void Form1_KeyDown(object sender, KeyEventArgs e)
{
    lblControl.Text = ((char) e.KeyCode).ToString();
}

Obiosly, фокус должен быть на форме.

1 голос
/ 05 марта 2012

Попробуйте следующее:

...
myForm.KeyPreview = true;
...

private void CommsTesterUI_KeyDown(object sender, KeyEventArgs e)
{
    label1.Text = e.KeyCode.ToString();
}  
...