Я пишу GUI в С#, Visual Studio 2008, используя Designer и WinForms. У меня есть элемент управления ComboBox, и я бы хотел, чтобы он разрешал только выбирать из предоставленных параметров и не принимать введенную пользователем строку. Он не имеет свойства ReadOnly, и его отключение препятствует читаемости элемента управления (а также запрет выбора пользователя).
Readonly ComboBox в WinForms
Ответ 1
Установите DropDownStyle в "DropDownList"
Ответ 2
Установите свойство ComboBox.DropDownStyle в ComboBoxStyle.DropDownList.
Ответ 3
Еще один простой способ сделать это.
private void combobox1_KeyPress(object sender, KeyPressEventArgs e)
{
e.Handled = true;
}
Ответ 4
Используйте код, аналогичный приведенному ниже, чтобы установить разрешенные параметры и только те параметры.
comboBox1.DropDownStyle = ComboBoxStyle.DropDownList;
comboBox1.Items.AddRange(new object[] {
"One",
"Two",
"Three",
"Four"});
Ответ 5
Попробуйте использовать DropDownListbox
Ответ 6
Мое требование:, когда пользователь вводит ввод через комбинированное поле, он не может изменить значение перед отправкой. Они могут читать только эту ценность.
В соответствии с моим требованием я делаю следующее.
1) Получите ввод от пользователя через поле со списком.
2) Скопируйте значение combo-box в текстовое поле (которое доступно только для чтения и невидимо).
3) Ложная видимость комбинированного поля.
4) Истина видимости текстового поля только для чтения.
Сделайте это с помощью событий.