Passen Sie das ComboBox-Projekt an, ohne Quellen zu binden
Bei der Verwendung einer ComboBox in C# WinApp besteht die typische Methode zum Hinzufügen von Text und Werten zu ihren Elementen aus der Bindung an eine Datenquelle. Wenn Sie jedoch keine Bindungsquelle haben, benötigen Sie eine andere Lösung.
Lösung: Benutzerdefinierte Klasse, die die ToString()-Methode überschreibt
Um diese Einschränkung zu überwinden, erstellen Sie eine benutzerdefinierte Klasse, die sowohl Text- als auch Werteigenschaften enthält. Überschreiben Sie die ToString()-Methode, um den gewünschten Text zurückzugeben. Hier ist ein Beispiel für eine solche Klasse:
<code class="language-c#">public class ComboboxItem { public string Text { get; set; } public object Value { get; set; } public override string ToString() { return Text; } }</code>
Verwendung:
Nachdem Sie Ihre benutzerdefinierte Klasse definiert haben, können Sie Instanzen erstellen und diese zur ComboBox hinzufügen:
<code class="language-c#">private void Test() { ComboboxItem item = new ComboboxItem(); item.Text = "项目文本1"; item.Value = 12; comboBox1.Items.Add(item); }</code>
Wert abrufen:
Um den zugrunde liegenden Wert des ausgewählten Elements abzurufen, wandeln Sie es in eine benutzerdefinierte Klasse um und greifen Sie auf die Value-Eigenschaft zu:
<code class="language-c#">MessageBox.Show((comboBox1.SelectedItem as ComboboxItem).Value.ToString());</code>
Mit dieser Anpassungsmethode können Sie die ComboBox mit spezifischem Text füllen, der von ihrem tatsächlichen Wert abweicht, was eine größere Flexibilität bei der Verwaltung von Projekten ohne dedizierte Datenquelle bietet.
Das obige ist der detaillierte Inhalt vonWie füge ich benutzerdefinierten Text und Wert zu einer C#-WinForms-ComboBox ohne Bindungsquelle hinzu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!