Тип С#, пока вы не нажмете ввод

У меня есть приложение Windows Form с TextBox и Label, и я хочу ввести что-то в текстовое поле, а затем нажать Enter, чтобы, скажем, показать, что я набрал в Label.

Пример с кнопкой:

private void button1_Click(object sender, EventArgs e)
    {            
        this.Label1.Text = this.TextBox1.Text;
    }

Мне нужно сделать точно так же, но с нажатием Enter не кнопки.


person user2826882    schedule 28.09.2013    source источник


Ответы (3)


Я попробовал код от Яна Андерссена, и он работает правильно. Ошибка «Оператор '==' не может быть применена к операндам типа 'char' и 'System.Windows.Forms.Keys' из-за того, что вы сопоставляете символ с Keys.Enter, убедитесь, что синтаксис правильный e. Ключевой код.

E.KeyCode используется потому, что в обработчике событий отправляется параметр со значением переменной e "KeyEventArgs e", а здесь нажата клавиша.

private void txtText_KeyDown (object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter) 
{
this.lblText.Text = this.txtText.Text;
}
}

Вы скопировали и вставили код?

Если это так, попробуйте сделать это с событиями окна свойств. Нажмите в текстовом поле -> События ---> клавишу вниз ---> дважды щелкните и поместите туда код.

У вас больше одной формы? Этот код может измениться.

person Sahari Witbite    schedule 28.09.2013

вы можете использовать событие изменения текста и проверить, когда нажат ввод. когда вы идентифицируете ввод, вы можете делать все, что хотите

person Mzf    schedule 28.09.2013

person    schedule
comment
Я пробовал это, но каждый раз получаю сообщение об ошибке: Оператор «==» не может быть применен к операндам типа «char» и «System.Windows.Forms.Keys». - person user2826882; 28.09.2013
comment
вы должны использовать событие KeyDown. Я проверил, теперь это работает :) см. мою правку :) - person Jan Anderssen; 28.09.2013