テキストファイルのコンマ区切りの行からクラスを作成しています。VB.NET:クラスのフィールド
各オブジェクトのnameプロパティをリストボックスに表示させようとしていて、選択したオブジェクトの残りのプロパティをテキストボックスに表示させたいです。選択したオブジェクトのプロパティを正しいテキストボックスにロードするにはどうすればよいですか?私はあなたが記入したクラスは、あなたがすでにリストボックスを埋める方法を考え出したことをオブジェクトのリストを持っているとすることを仮定してい
テキストファイルのコンマ区切りの行からクラスを作成しています。VB.NET:クラスのフィールド
各オブジェクトのnameプロパティをリストボックスに表示させようとしていて、選択したオブジェクトの残りのプロパティをテキストボックスに表示させたいです。選択したオブジェクトのプロパティを正しいテキストボックスにロードするにはどうすればよいですか?私はあなたが記入したクラスは、あなたがすでにリストボックスを埋める方法を考え出したことをオブジェクトのリストを持っているとすることを仮定してい
...
Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
For Each obj As YourObjectType In YourClass.CollectionOfYourObjects
If obj.Name = ListBox1.SelectedItem.ToString Then
Textbox1.Text = obj.Property1
Textbox2.Text = obj.Property2
End If
Next
End Sub
あなたはすべての財産とに1つのTextBoxを持っていますプロパティの数は静的ではありませんか? リストボックスに表示するプロパティの名前にDisplayMemberを設定する必要があります。
この単純化されたサンプルは動作するはずです:
Public Class ListBox
Private Sub ListBox_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim allFoos As New List(Of FooClass)
For i As Int32 = 1 To 10
Dim foo As New FooClass
foo.Name = "Foo_" & i
foo.Prop1 = "Prop1_" & i
foo.Prop2 = "Prop2_" & i
foo.Prop3 = "Prop3_" & i
allFoos.Add(foo)
Next
Me.ListBox1.DataSource = allFoos
Me.ListBox1.DisplayMember = "Name"
End Sub
Private Sub ListBox1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
Dim foo As FooClass = DirectCast(ListBox1.SelectedItem, FooClass)
Me.TxtName.Text = foo.Name
Me.TxtProp1.Text = foo.Prop1.ToString
Me.TxtProp2.Text = foo.Prop2.ToString
Me.TxtProp3.Text = foo.Prop3.ToString
End Sub
End Class
Class FooClass
Private _name As String
Private _prop1 As Object
Private _prop2 As Object
Private _prop3 As Object
Public Property Name() As String
Get
Return _name
End Get
Set(ByVal value As String)
_name = value
End Set
End Property
Public Property Prop1() As Object
Get
Return _prop1
End Get
Set(ByVal value As Object)
_prop1 = value
End Set
End Property
Public Property Prop2() As Object
Get
Return _prop2
End Get
Set(ByVal value As Object)
_prop2 = value
End Set
End Property
Public Property Prop3() As Object
Get
Return _prop3
End Get
Set(ByVal value As Object)
_prop3 = value
End Set
End Property
End Class
各オブジェクトの種類は何ですか?テキストファイルの内容は、このタイプのオブジェクトにどのようにマッピングされますか? – cdhowie