0

すべてに同じオブジェクトタイプのリストボックスがいくつかありますが、問題は、すべてのリストボックスに同じ ToString() メソッドでオブジェクトを表示したくないということです。これを解決する方法はありますか?

現時点では、リストボックスに文字列を追加してから、選択した文字列を使用してオブジェクトのリストから正しいオブジェクトを検索しますが、その解決策はまったく好きではありません。

4

1 に答える 1

2

次のような従業員のクラスがあるとします。

Public Class Employee
    Public Property ID As Integer
    Public Property FirstText As String
    Public Property SecondText As String
    ' and go on with other properties
    ....
End Class

リストボックスにデータを入力するときに、リストボックスの DisplayMember と ValueMember を Employee の 2 つの異なるプロパティに設定します。

Dim myList As ArrayList = New ArrayList()
myList.Add(New Employee() With {.ID = 1, .FirstText = "John Doe", .SecondText = "Doe John"})
myList.Add(New Employee() With {.ID = 2, .FirstText = "Mark Ross", .SecondText = "Ross Mark"})

ListBox1.DataSource = myList
ListBox2.DataSource = myList

ListBox1.ValueMember = "ID"
ListBox1.DisplayMember = "FirstText"

ListBox2.ValueMember = "ID"
ListBox2.DisplayMember = "SecondText"
于 2012-06-30T15:17:16.483 に答える