Как вы теперь можете выбрать элемент из comboBox с помощью клавиатуры напрямую. При помощи мыши я блокирую пользователя для выбора некоторых элементов в зависимости от состояния объекта позади. Какое лучшее решение, чтобы остановить это, когда пользователь использует клавиатуру?Предотвращение выбора клавиатуры comboBox
ответ
private void comboBox1_KeyDown(object sender, KeyEventArgs e)
{
e.Handled = true;
}
С помощью этого вы можете отменить все действия клавиатуры на своем ComboBox.
Предположения: WinForms
По той же логике я утверждаю, что ваш пример слишком широк по объему. Обратите внимание, что OP говорит: «Я блокирую пользователя, чтобы выбрать ** некоторые элементы **» – Cerebrus
Мое прощение для комментария тогда :) – NileshChauhan
Откладывая вопросы юзабилити, вытекающие из такого рода требования (многие пользователи в привычку использовать клавиатуру и нашел бы не интуитивным), можно просто обработать 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;
}
Edit: Разъяснение прежде, чем я downvoted снова - Это пример который иллюстрирует способ. Это зависит от OP, чтобы решить, какие ключи он хочет запретить.^^
Если у вас есть элемент с текстом, скажем «xyz», при нажатии «x» это будет выбран. Вышеприведенный код не справится с этим. – NileshChauhan
Мой пример иллюстрирует. Я оставляю исключение определенных событий клавиатуры для OP. – Cerebrus
Я согласен, Cerebrus. Я видел метод, я решил, как справиться с этим в моем случае – 2009-03-25 09:17:21
- 1. Предотвращение закрытия клавиатуры
- 2. Предотвращение покрытия клавиатуры TextBox
- 3. Предотвращение отклонения мягкой клавиатуры
- 4. C# предотвращение пользовательских combobox от автоматического выбора элемента
- 5. Предотвращение прокрутки при открытии клавиатуры
- 6. Показывать datepicker/combobox вместо клавиатуры
- 7. предотвращение выбора на MKPointAnnotation
- 8. Предотвращение выбора и копирования
- 9. Предотвращение выбора на входе текстовое поле
- 10. Как требовать выбора ComboBox?
- 11. Пользовательский дисплей выбора ComboBox
- 12. Добавление выбора в Combobox
- 13. Переписывание предыдущего выбора combobox?
- 14. Population combobox на основе выбора другого combobox
- 15. предотвращение выбора даты с авто-выбора даты
- 16. Отклонив клавиатуры после выбора tableviewcontroller
- 17. Сбросить текст в Combobox После выбора
- 18. Предотвращение автоматического появления клавиатуры с помощью UIAlertController
- 19. Предотвращение пользовательской клавиатуры в текстовом поле
- 20. Предотвращение фоновой прокрутки с помощью мягкой клавиатуры
- 21. Предотвращение покрытия клавиатуры AdBannerView и панель инструментов
- 22. Предотвращение Google Maps от кражи ввода клавиатуры
- 23. Предотвращение отображения программной клавиатуры другой деятельностью
- 24. Предотвращение доступа к сообщениям клавиатуры приложения
- 25. Предотвращение отклонения клавиатуры при нажатии регулятора вида
- 26. extjs numberfield: Предотвращение недопустимого ввода клавиатуры
- 27. Предотвращение клавиатуры Android от нажатия макета
- 28. Предотвращение прокрутки UIWebView при появлении клавиатуры
- 29. Предотвращение перемещения пользовательского интерфейса при появлении клавиатуры
- 30. Предотвращение увольнения клавиатуры на сенсорном экране UITableView
Лучшей, более распространенной практикой является помещение в поле со списком только элементов, которые можно выбрать. Это не будет препятствовать использованию клавиатуры (я, как пользователь, нашел бы это наступление!) И упростил бы код. – PhiLho
согласны с вами. Но у моего клиента есть сила в этом случае :) – 2009-03-27 08:04:02