0

BindingSource と Dictionary の 2 つのオブジェクトがあります。また、BindingSource オブジェクトには、List of Vehicles クラス オブジェクトのオブジェクトが含まれ、Dictionary オブジェクトには BindingSource クラス オブジェクトが含まれます。そして、ここにグローバル宣言があります:

        Dim bs As BindingSource
        Dim dicBinding As Dictionary(Of Integer,BindingSource)

ユーザーが「追加」という名前のボタンをクリックすると、Vehicle クラスのオブジェクトが bs に追加され、次に bs が dicBinding に追加されます。

        If bs Is Nothing Then bs = New BindingSource(New List(Of Vehicle),Nothing)
        If dicBinding is Nothing Then dicBinding = New Dictionary(Of integer,BindingSource)
        Dim i As Integer = dicBinding.Count
        dicBinding.Add(i,bs)

dicBinding オブジェクトから BindingSource オブジェクトを取得する場合:

        bs =TryCast(dicBinding.Item(0),BindingSource)

        For Each v As Vehicle In bs.List
            MessageBox.Show(v.VehicleId)
        Next

しかし、私は取得することはできません。誰でも私を助けることができますか?

4

1 に答える 1

0

今ではもっと理にかなっています:)Dictionaryオブジェクトは配列のようにインデックスを付けることはできません.sArrayListsのような組み込みの順序はありません。

キーがDictionary整数で、値がBindingSources の があります。

Dim i As Integer = dicBinding.Count + 1
dicBinding.Add(i, bs)

Dictionary値がbsでキーが である要素を 1 つ追加します(以前にエントリがなかったと1仮定します)。Dictionary

を要求するdicBinding.Item(0)と、キーが である値を要求していますが0、まだ追加していません。

于 2012-11-11T04:38:15.950 に答える