Heim > Backend-Entwicklung > C++ > Wie füge ich benutzerdefinierten Text und Wert zu einer C#-WinForms-ComboBox ohne Bindungsquelle hinzu?

Wie füge ich benutzerdefinierten Text und Wert zu einer C#-WinForms-ComboBox ohne Bindungsquelle hinzu?

Barbara Streisand
Freigeben: 2025-01-12 07:43:46
Original
1007 Leute haben es durchsucht

How to Add Custom Text and Value to a C# WinForms ComboBox without a Binding Source?

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage