Кейдаун событие автоматического отзыва

У меня есть код:

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;
Другие вопросы по тегам