すべてに同じオブジェクトタイプのリストボックスがいくつかありますが、問題は、すべてのリストボックスに同じ ToString() メソッドでオブジェクトを表示したくないということです。これを解決する方法はありますか?
現時点では、リストボックスに文字列を追加してから、選択した文字列を使用してオブジェクトのリストから正しいオブジェクトを検索しますが、その解決策はまったく好きではありません。
次のような従業員のクラスがあるとします。
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"