Как я могу сделать выпадающий список без возможности редактирования in.NET?


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

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

5 184

5 ответов:

чтобы сделать текстовую часть выпадающего списка не редактируемой, установите для свойства DropDownStyle значение "DropDownList". ComboBox теперь по существу выбирается только для пользователя. Это можно сделать в конструкторе Visual Studio или в C# следующим образом:

stateComboBox.DropDownStyle = ComboBoxStyle.DropDownList;

ссылка на документацию для выпадающее свойство ComboBox на MSDN.

чтобы добавить ссылку на графический интерфейс Visual Studio, вы можете найти DropDownStyle параметры в свойствах выбранного поля со списком:

enter image description here

который автоматически добавит строку, указанную в первом ответе на форму.Дизайнер.cs InitializeComponent(), например:

this.comboBoxBatch.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;

оставайтесь на своем ComboBox и найдите свойство DropDropStyle в окне свойств, а затем выберите DropDownList.

COMBOBOXID.DropDownStyle = ComboBoxStyle.Выпадающий список;

чтобы продолжить отображение данных на входе после выбора, выполните следующие действия:

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;
}