В C# с .Net 4.5 отключенные NumericUpDown
ии элементы управления по-прежнему реагируют на события колесика мыши. Это похоже на ошибку.Предотвращение колесика мыши на элементах управления с помощью Enabled = false
Это ошибка в WinForms? Не удалось подклассифицировать элементы управления, как я могу предотвратить это?
[Edit: шаги воспроизведения] с помощью Visual Studio Professional 2012 Update 4 на Windows 10, я делаю следующее:
- Создать новую WinForms приложение.
- Открыть форму1 в дизайнере. Перетащите панель из панели инструментов.
- Перетащите ComboBox и NumericUpDown в панель.
- Установите 3 строки «A», «B», «C» на ComboBox с помощью панели «Свойства» -> «Данные» -> «Элементы»
- Перетащите флажок и поставьте его под панелью. Назовите его «Отключено».
Дважды щелкните флажок, чтобы создать обработчик событий:
private void checkBox1_CheckedChanged(object sender, EventArgs e) { panel1.Enabled = !checkBox1.Checked; }
компилировать и запускать. Установите флажок, чтобы panel1.Enabled был ложным, затем наведите указатель мыши на NumericUpDown и переместите колесико мыши. Номера изменяются, даже если NumericUpDown отключен.
Я не могу воспроизвести это. Если элементы управления отключены, они не могут получать фокус, и поэтому я не могу заставить их реагировать на события мыши. У вас есть несколько шагов для тиражирования этого или кода для показа? – Equalsk
В моем случае элементы управления являются дочерними элементами управления контейнером, которое отключено. – damian
Все еще не может этого сделать. Я поместил их в панель и отключил только панель, и они по-прежнему не реагируют на события мыши. Можете ли вы указать конкретные особенности и шаги? – Equalsk