ComboBox 項目にカスタム テキストと値を追加します
C# WinForms アプリケーションでは、人が読めるテキストと追加の関連値を含む項目をコンボボックスに設定する必要がある場合があります。多くのソリューションはデータ バインディングに依存していますが、場合によってはバインディング ソースが利用できない場合があります。
この場合、カスタム クラスの機能を活用して、目的の機能を実現できます。次のクラスについて考えてみましょう:
<code class="language-csharp">public class ComboboxItem { public string Text { get; set; } public object Value { get; set; } public override string ToString() { return Text; } }</code>
このクラスは、値を表示するための Text と、関連付けられた値を保存するための Value という 2 つのプロパティを定義します。 ToString() メソッドをオーバーライドすることで、ComboboxItem を文字列に変換するときに Text プロパティが返されるようになります。
このクラスを使用するには、次のようにインスタンスを作成して ComboBox に追加するだけです:
<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>
この例では、ComboboxItem インスタンスを作成し、その Text プロパティと Value プロパティを割り当て、それを ComboBox の Items コレクションに追加します。 SelectedIndex を 0 に設定することで、新しく追加された項目を選択します。項目が選択されると、その Value プロパティが取得されて表示されます。
以上がC# でカスタム テキストと値のペアを WinForms ComboBox に追加する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。