Benutzerdefinierten Text und Werte zu ComboBox-Elementen hinzufügen
In einer C#-WinForms-Anwendung müssen Sie möglicherweise Ihre ComboBox mit Elementen füllen, die für Menschen lesbaren Text und zusätzliche zugehörige Werte enthalten. Während viele Lösungen auf Datenbindung basieren, ist die Bindungsquelle in einigen Fällen möglicherweise nicht verfügbar.
In diesem Fall können Sie die Fähigkeiten einer benutzerdefinierten Klasse nutzen, um die gewünschte Funktionalität zu erreichen. Betrachten Sie die folgende Klasse:
<code class="language-csharp">public class ComboboxItem { public string Text { get; set; } public object Value { get; set; } public override string ToString() { return Text; } }</code>
Diese Klasse definiert zwei Eigenschaften: Text zum Anzeigen des Werts und Wert zum Speichern des zugehörigen Werts. Durch Überschreiben der ToString()-Methode stellen wir sicher, dass die Text-Eigenschaft zurückgegeben wird, wenn das ComboboxItem in einen String konvertiert wird.
Um diese Klasse zu verwenden, erstellen Sie einfach eine Instanz und fügen Sie sie wie folgt zu Ihrer ComboBox hinzu:
<code class="language-csharp">private void Test() { ComboboxItem item = new ComboboxItem(); item.Text = "Item text1"; item.Value = 12; comboBox1.Items.Add(item); comboBox1.SelectedIndex = 0; MessageBox.Show((comboBox1.SelectedItem as ComboboxItem).Value.ToString()); }</code>
In diesem Beispiel erstellen wir eine ComboboxItem-Instanz, weisen ihre Text- und Value-Eigenschaften zu und fügen sie der Items-Sammlung der ComboBox hinzu. Indem wir SelectedIndex auf 0 setzen, wählen wir das neu hinzugefügte Element aus. Wenn das Element ausgewählt ist, rufen wir seine Value-Eigenschaft ab und zeigen sie an.
Das obige ist der detaillierte Inhalt vonWie füge ich benutzerdefinierte Text- und Wertepaare zu einer WinForms-ComboBox in C# hinzu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!