Предотвращение выбора клавиатуры comboBox - PullRequest
0 голосов
/ 16 марта 2009

Как вы теперь, пользователь может выбрать элемент из поля со списком непосредственно с клавиатуры. С помощью мыши я блокирую пользователя, чтобы выбрать некоторые элементы в зависимости от состояния объекта позади. Как лучше всего остановить это, когда пользователь использует клавиатуру?

Ответы [ 2 ]

2 голосов
/ 16 марта 2009

Оставляя в стороне проблемы с удобством использования, возникающие из-за такого рода требований (многие пользователи привыкли использовать клавиатуру и считают ее неинтуитивной), вы можете просто обработать событие KeyDown и установить для KeyEventArgs.Cancel значение True .

private void myCombo_KeyDown(object sender, KeyEventArgs e)
{
   // Cancel the event if Up or Down keys are pressed.
   if ((e.KeyCode == Keys.Down) || (e.KeyCode == Keys.Up))
     e.Handled = true;
}

Редактировать: Разъяснение перед повторным голосованием - Это пример , который иллюстрирует метод. Это зависит от ФП, чтобы решить, какие ключи он / она хочет запретить. ^ ^

0 голосов
/ 16 марта 2009
    private void comboBox1_KeyDown(object sender, KeyEventArgs e)
    {
        e.Handled = true;
    }

С этим вы можете отменить все действия клавиатуры на вашем ComboBox.

Допущения: WinForms

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...