掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
VB.NETのComboBoxでItemDataを使うには? (ID:117756)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
VB6のComboBox.AddItem で登録できるのは、Stringだけでしたが、 .NETのComboBox.Itemsに登録されるのは、Object です。 つまり、任意の型のデータを登録できるようになったため、 数値専用の ItemData を用意する必要が無くなったわけです。 例えば、VB6のItemDataのように、Long型の数値を管理したいのであれば、 「Integer型を表すプロパティ」を持った構造体またはクラスを用意して、 それを登録するようにすればOKかと。 具体的には、 Public Structure ComboItem Public Text As String Public Number As Integer 'ComboBoxには、ToString()メソッドの内容が表示される Public Overrides Function ToString() As String Return Text End Function '登録を簡単にするため、引数付きのコンストラクタを定義 Public Sub New(ByVal S As String, ByVal I As Integer) Text = S Number = I End Sub End Structure といった構造体を用意しておき、 ComboBox1.Items.Add(New ComboItem("AAA", 123)) ComboBox1.Items.Add(New ComboItem("BBB", 234)) ComboBox1.Items.Add(New ComboItem("CCC", 345)) のようにして登録する事ができます。 取り出すときは、 With DirectCast(ComboBox1.SelectedItem, ComboItem) A = .Text B = .Number End With といった感じで。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.