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