it-swarm.com.ru

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

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

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

194
Cory Engebretson

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

stateComboBox.DropDownStyle = ComboBoxStyle.DropDownList;

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

359
Cory Engebretson

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

enter image description here

Который автоматически добавит строку, упомянутую в первом ответе, в Form.Designer.cs InitializeComponent(), примерно так:

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

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

30
LZara

COMBOBOXID.DropDownStyle = ComboBoxStyle.DropDownList;

2
Abhishek Jaiswal

Чтобы продолжить отображение данных на входе после выбора, сделайте так:

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;
}
1
Diogo Rodrigues