ホームページ >バックエンド開発 >C++ >バインディング ソースなしで C# WinForms ComboBox にカスタム テキストと値を追加する方法

バインディング ソースなしで C# WinForms ComboBox にカスタム テキストと値を追加する方法

Barbara Streisand
Barbara Streisandオリジナル
2025-01-12 07:43:461009ブラウズ

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

ソースをバインドせずに ComboBox プロジェクトをカスタマイズします

C# WinApp で ComboBox を使用する場合、その項目にテキストと値を追加する一般的な方法には、データ ソースへのバインドが含まれます。ただし、既存のバインディング ソースがない場合は、別のソリューションが必要になります。

解決策: ToString() メソッドをオーバーライドするカスタム クラス

この制限を克服するには、テキスト プロパティと値プロパティの両方を含むカスタム クラスを作成します。 ToString() メソッドをオーバーライドして、必要なテキストを返します。以下はそのようなクラスの例です:

<code class="language-c#">public class ComboboxItem
{
    public string Text { get; set; }
    public object Value { get; set; }

    public override string ToString()
    {
        return Text;
    }
}</code>

使用法:

カスタム クラスを定義した後、インスタンスを作成して ComboBox に追加できます。

<code class="language-c#">private void Test()
{
    ComboboxItem item = new ComboboxItem();
    item.Text = "项目文本1";
    item.Value = 12;

    comboBox1.Items.Add(item);
}</code>

値の取得:

選択した項目の基になる値を取得するには、それをカスタム クラスにキャストし、Value プロパティにアクセスします。

<code class="language-c#">MessageBox.Show((comboBox1.SelectedItem as ComboboxItem).Value.ToString());</code>

このカスタマイズ方法を使用すると、コンボボックスに実際の値とは異なる特定のテキストを入力できるため、専用のデータ ソースを使用せずにプロジェクトを管理する際の柔軟性が向上します。

以上がバインディング ソースなしで C# WinForms ComboBox にカスタム テキストと値を追加する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。