Wie erstellt man Combobox-Steuerelement mit nicht auswählbaren Elementen? Zum Beispiel solche Gruppennamen oder Kategorienamen, die Elemente in der Dropdownliste visuell in einige Gruppen oder Kategorien aufteilen.WinForms ComboBox mit nicht auswählbaren Elementen erstellen
Antwort
Anstatt Zeichenfolgen zu Ihrer Combobox hinzuzufügen, können Sie eine spezielle Klasse hinzufügen und das ausgewählte Element verwenden, um zu bestimmen, ob das Element ausgewählt ist oder nicht.
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;
}
};
}
}
Das war mein erster Gedanke. Sie können jedoch den Elementtext immer noch in die ComboBox eingeben und dadurch das nicht auswählbare Element auswählen. –
Nein. In meinem Fall verwende ich DropDownList Stil für ComboBox deaktivieren Texteditor. – symantis
Ihr Code ist sehr gut und es hilft mir. Aber eine andere Frage - wie zu deaktivieren nicht nur die Auswahl von Elementen in der Liste, deaktivieren Sie die Verfolgung nicht auswählbarer Elemente mit der Maus. – symantis
Werfen Sie einen Blick hier auf CodeProject für eine Nur-Lese-Combo-Box, hier ist ein weiterer Artikel des readonly Kombinationsfeld ‚anständig‘ zu machen sucht ... Hier ist eine andere, die zeigen, wie Sie das grundlegende Standard-Kombinationsfeld außer Kraft zu setzen, es zu machen readonly wie Sani vorgeschlagen.
- 1. Erhalten Sie ausgewählten Text mit Ausnahme von nicht auswählbaren Elementen
- 2. Limit # von auswählbaren Elementen jquery-ui
- 3. Readonly ComboBox in WinForms
- 4. WinForms ComboBox-Datenbindung Gotcha
- 5. combobox Standardwert winforms C#
- 6. Versteckte ID mit ComboBox-Elementen?
- 7. WinForms Combobox mit mehreren Spalten (C#)?
- 8. C# winforms Combobox dynamische Autocomplete
- 9. Javascript Combobox mit typeahead und hierarchischen Elementen
- 10. BindableAttribute, Combobox, Selectedvalue -Eigenschaft - WinForms
- 11. MVP Winforms und Textfeld Combobox Werte
- 12. Linq sql Datenbindung an winforms Combobox
- 13. WinForms Combobox SelectionChangeCommitted Ereignis ändert sich nicht immer SelectedValue
- 14. WinForms comboBox Datenbindung ganzes Objekt (kein datamember)
- 15. ComboBox und Linq zu Sql für Winforms
- 16. Telerik winforms entspricht Combobox dropdownstyle = einfach
- 17. Winforms ComboBox Höhe unterscheidet sich von ItemHeight
- 18. Autorisierung von UI-Elementen in .NET WinForms
- 19. C# Winforms Hinzufügen von Elementen aus einer Combobox zu einer separaten Klasse
- 20. Wie erstellt man eine WinForms Combobox mit Label und Value?
- 21. Delphi Hinzufügen von Elementen zu ComboBox Geschwindigkeit
- 22. Gruppieren von Elementen in einer ComboBox
- 23. Ausblenden von Elementen einer Combobox in WPF
- 24. Android Textansicht mit chip type auswählbaren Boxen
- 25. Verwalten von ComboBox-Elementen in JavaFX
- 26. Git Baum mit auswählbaren Knoten im Terminal?
- 27. Hinzufügen von Elementen zu Combobox in WPF
- 28. eine Auto-Vervollständigen Combobox zu haben, das nicht WinForms benutzerdefinierter Text
- 29. Psd zu pdf auswählbaren Text
- 30. Erstellen Sie JavaFX ComboBox mit benutzerdefinierten Popup
Winform oder Webformular? –
Sie können ein bisschen mehr Details geben. Ist dies WPF, Windows Forms oder ein anderes UI-Framework? – mattythomas2000