Я пишу графический интерфейс на C#, Visual Studio 2008, используя конструктор и WinForms. У меня есть элемент управления ComboBox, и я бы хотел, чтобы он разрешал только выбор из предоставленных параметров и не принимал строку, введенную пользователем. Похоже, что у него нет свойства ReadOnly, и его отключение затрудняет читаемость элемента управления (а также запрещает выбор пользователя).
возможный дубликат Как сделать ComboBox недоступным для редактирования в .NET?





Установите для DropDownStyle значение «DropDownList»
Но тогда вы не можете программно манипулировать списком со списком.
Попробуйте использовать DropDownListbox
Установите для свойства ComboBox.DropDownStyle значение ComboBoxStyle.DropDownList.
Используйте код, аналогичный приведенному ниже, чтобы установить разрешенные параметры и только эти параметры.
comboBox1.DropDownStyle = ComboBoxStyle.DropDownList;
comboBox1.Items.AddRange(new object[] {
"One",
"Two",
"Three",
"Four"});
Еще один простой способ сделать это.
private void combobox1_KeyPress(object sender, KeyPressEventArgs e)
{
e.Handled = true;
}
Свойство DropDownStyle было тем, что я искал. Не могу поверить, что не заметил этого.