Как я могу сделать ComboBox недоступным для редактирования в .NET?
Я хочу иметь «только для выбора» ComboBox
который предоставляет список элементов для выбора пользователем. В текстовой части элемента управления ComboBox
необходимо отключить ввод текста.
Моя первоначальная ошибка в этом оказалась слишком сложным, ошибочным предложением захватить событие KeyPress
.
- Как проверить, открыта ли форма для Windows, и закрыть ее, если она есть?
- Какое событие CheckedListBox запускается после проверки элемента?
- Удалить строку заголовка в Windows Forms
- Как получать уведомления устройства Plug & Play без формы windows
- Как я могу сделать что-то, что ловит все «необработанные» исключения в приложении WinForms?
- Как получить доступ к управлению текстовым полем Winform из другого classа?
- Как остановить BackgroundWorker при закрытии формы?
- Исключения в Catch приложениях в приложении Windows Forms
- Как передать значение из дочернего элемента обратно в родительскую форму?
- Создание Wizard для Windows Forms в C #
- Как настроить приложение для правильной работы на машине с высокой настройкой DPI (например, 150%)?
- Скрыть форму, а не закрывать при нажатии кнопки «Закрыть»
- Как предотвратить перемещение окон?
Чтобы сделать текстовую часть ComboBox недоступной для редактирования, установите для свойства DropDownStyle значение «DropDownList». ComboBox теперь по сути выбирается только для пользователя. Вы можете сделать это в дизайнере Visual Studio или в C #, например:
stateComboBox.DropDownStyle = ComboBoxStyle.DropDownList;
Ссылка на документацию для свойства ComboBox DropDownStyle в MSDN.
Чтобы добавить ссылку на Visual Studio GUI, вы можете найти опции DropDownStyle
в свойствах выбранного ComboBox:
Что автоматически добавит строку, указанную в первом ответе на Form.Designer.cs InitializeComponent()
, например:
this.comboBoxBatch.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
Оставайтесь на своем ComboBox и ищите свойство DropDropStyle в окне свойств, а затем выберите DropDownList .
COMBOBOXID.DropDownStyle = ComboBoxStyle.DropDownList;
Чтобы продолжить отображение данных на входе после выбора, сделайте следующее:
VB.NET Private Sub ComboBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles ComboBox1.KeyPress e.Handled = True End Sub C# Private void ComboBox1_KeyPress(object sender, KeyPressEventArgs e) { e.Handled = true; }