Вопрос

Я пишу графический интерфейс на 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) Истинная видимость текстового поля только для чтения.

Сделайте это с событиями.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top