2

私はいくつかのコードをいじっており、すべてにラベルが付けられた 50 以上のコントロールを簡単PictureBox[XCoordinate]_[YCorrdinate]に作成しました。

これに関する問題は、ループを実行してすべての画像ボックスを更新するときにコントロールを使用するのが非常に面倒なことです。次のようなコードを実行する方法を知りたいです。

'This code assumes that the picture boxes are all initialized.
Dim XCoordiante As Integer = 5
Dim YCorrdinate As Integer = 2
PictureBox[XCoordinate]_[YCoordiante].Image = [Put Image Here]

これをループに入れていきます。手動ですべてを入力して、ケースステートメント内で何かを見逃す危険を冒さずにこれを行う方法はありますか? また、変更したい種類ごとに再入力する必要があります (タグやエラー画像など)。

ポインターは何らかの形で役立ちますか? これを行う方法はよくわかりませんが、可能であれば本当に役に立ちます。

4

1 に答える 1

1

それらを作成したら、それらをリストに保存します。

Private pList As New List(Of PictureBox)

Dim pic As New PictureBox
With Pic
    .Location = ... 
    ' etc
End With

Me.Controls.Add(pic)
pList.Add(pic)

それらが何らかの順序で作成されていると仮定します。

For n As integer = 0 To pList.Count = 1
   ' add code to look at Plist(n).X and .Y to determine what to do (?)
   Plist(n).Image = ...
Next n

キャプチャする情報がさらにある場合は、 aPicBoxとその他の情報のカスタム クラスを作成し、リストを a にしList(Of myPicClass)ます。

于 2013-10-26T15:29:16.370 に答える