Кейдаун событие автоматического отзыва
У меня есть код:
private void textEdit_KeyDown(object sender, KeyEventArgs e)
{ //line start
if (e.KeyCode == Keys.Enter)
{
//Do something
e.SuppressKeyPress = true;
} //line done
}
когда я нажимаю клавишу ввода, событие пожар, после чего-то выполнить (cursor == line done)
, я не знаю, почему курсор автоматически переходит на начало строки и повторно выполняет код в операторе if, пожалуйста, дайте мне знать, если у вас есть решение для этой проблемы (предотвратить автоматический повторный вызов)
1 ответ
Сценарий, где это может произойти, это когда textEdit_KeyDown
обработчик событий подписан более одного раза, другими словами, KeyDown
событие обрабатывается более одного раза одним и тем же обработчиком. Я предлагаю вам посмотреть в своем коде и комментировать (если найден) одну подписку на textEdit_KeyDown
обработчик события.
//textEdit.KeyDown += textEdit_KeyDown;