Как я могу сделать ComboBox недоступным для редактирования в .NET?

Я хочу иметь «только для выбора» ComboBox который предоставляет список элементов для выбора пользователем. В текстовой части элемента управления ComboBox необходимо отключить ввод текста.

Моя первоначальная ошибка в этом оказалась слишком сложным, ошибочным предложением захватить событие KeyPress .

Чтобы сделать текстовую часть 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; } 
  • Показывать элементы управления, добавленные программно в приложении WinForms в представлении «Дизайн»?
  • Как отключить некоторые даты в элементе управления DateTimePicker?
  • Как получить доступ к элементу управления из статического метода?
  • Создание WinForms TextBox ведет себя как адресная строка вашего браузера
  • Обеспечение только одного экземпляра приложения
  • Доступ к управлению пользовательским интерфейсом из BackgroundWorker Thread
  • Как изменить Form1 label.text при установке флажка на form2?
  • Событие, когда окно максимизируется / не максимизируется
  • Как удалить выбранный DataGridViewRow и обновить связанную таблицу базы данных?
  • Кнопка внутри текстового windows winforms
  • C # WebRequest с использованием файлов cookie
  • Давайте будем гением компьютера.