Как создать элемент управления combobox с неизменными элементами? Например, такие имена групп или имена категорий, которые визуально делят элементы в раскрывающемся списке на некоторые группы или категории.Создать WinForms ComboBox с неизменяемыми элементами
ответ
Вместо добавления строк в выпадающий список вы можете добавить специальный класс и использовать выбранный элемент, чтобы определить, выбран ли элемент или нет.
public partial class Form1 : Form
{
private class ComboBoxItem
{
public int Value { get; set; }
public string Text { get; set; }
public bool Selectable { get; set; }
}
public Form1() {
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e) {
this.comboBox1.ValueMember = "Value";
this.comboBox1.DisplayMember = "Text";
this.comboBox1.Items.AddRange(new[] {
new ComboBoxItem() { Selectable = false, Text="Unselectable", Value=0},
new ComboBoxItem() { Selectable = true, Text="Selectable1", Value=1},
new ComboBoxItem() { Selectable = true, Text="Selectable2", Value=2},
new ComboBoxItem() { Selectable = false, Text="Unselectable", Value=3},
new ComboBoxItem() { Selectable = true, Text="Selectable3", Value=4},
new ComboBoxItem() { Selectable = true, Text="Selectable4", Value=5},
});
this.comboBox1.SelectedIndexChanged += (cbSender, cbe) => {
var cb = cbSender as ComboBox;
if (cb.SelectedItem != null && cb.SelectedItem is ComboBoxItem && ((ComboBoxItem) cb.SelectedItem).Selectable == false) {
// deselect item
cb.SelectedIndex = -1;
}
};
}
}
Это была моя первая мысль. Однако вы все равно можете ввести текст элемента в ComboBox и тем самым выбрать неэлектируемый элемент. –
№ В моем случае я использую стиль DropDownList для отключения текстового редактора ComboBox. – symantis
Ваш код очень хорошо, и это помогает мне. Но другой вопрос - как отключить не только выбор элементов в списке, но и отключить отслеживание неизбираемых элементов мышью. – symantis
Посмотри здесь на CodeProject для только для чтения Combo Box, вот еще одна статьи, чтобы сделать readonly выпадающие «приличным» ищу ... Вот еще один, который показывает, как переопределить базовый стандарт со списком, чтобы сделать его readonly как предложил Сани.
- 1. Как создать combobox с элементами флажка?
- 2. WinForms ComboBox
- 3. WPF - ComboBox с элементами Button
- 4. Скрытый идентификатор с элементами ComboBox?
- 5. GWT combobox с пользовательскими элементами
- 6. Задача WinForms ComboBox
- 7. expand combobox в winforms
- 8. Ошибка Winforms ComboBox?
- 9. Выбранный указатель combobox winforms
- 10. ComboBox DataBinding C# WinForms
- 11. Custom Combobox Control для winforms
- 12. Winforms combobox compare
- 13. Readonly ComboBox в WinForms
- 14. Проблема WinForms ComboBox
- 15. Winforms ComboBox SelectedValueChange событие
- 16. Создание combobox с вложенными элементами wpf
- 17. Работа с неизменяемыми словарями
- 18. Как манипулировать comboBox с меняющимися элементами?
- 19. WinForms ListBox с элементами readonly/disabled
- 20. Winforms Привязка ComboBox SelectedItem к объекту Свойство
- 21. BindableAttribute, COMBOBOX, SelectedValue недвижимость - WinForms
- 22. Создать проводник в winforms app
- 23. C# Winforms ComboBox имеет странное поведение наведения
- 24. Winforms ComboBox Значение столбца недействительно
- 25. Winforms Combobox SelectedValue is Null
- 26. Как связать словарь с ComboBox в WinForms?
- 27. Добавить столбец COMBOBOX в GridControl с WinForms
- 28. Winforms связывают с combobox в datagridview
- 29. C# Winforms - заданное значение combobox
- 30. Связать ComboBox динамически с элементами CheckedListBox?
Winform или webform? –
Вы можете немного подробнее рассказать. Является ли это WPF, Windows Forms или какой-либо другой пользовательский интерфейс? – mattythomas2000