Как определить, что нажат Enter в ToolStripTextBox с AutoCompleteSource?

Создаю ToolStripTextBox с AutoCompleteSource и AutoCompleteMode.Suggest.

Подписываюсь на событие KeyUp.

При выборе текста из списка AutoCompleteSource обрабатывается событие KeyUp да еще и с KeyCode = Keys.Enter .
Как решить проблему?
  • Вопрос задан
  • 165 просмотров
Решения вопроса 1
Track77
@Track77 Автор вопроса
Решил таким костылем

private bool _isKeyDown;

        void explorer_text_filter_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode != Keys.Enter)
                _isKeyDown = true;
        }

        void explorer_text_filter_KeyUp(object sender, KeyEventArgs e)
        {
            if (!_isKeyDown && e.KeyCode == Keys.Enter && !search_button.Checked)
            {
                search_button.PerformClick();
            }
            _isKeyDown = false;
        }
        void explorer_text_filter_TextChanged(object sender, EventArgs e)
        {
            this.explorer_text_filter.KeyUp -= explorer_text_filter_KeyUp;
            .....
            _isKeyDown = true;
            this.explorer_text_filter.KeyUp += explorer_text_filter_KeyUp;
        }
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы