2

私はそのように画像ボックスの配列を持っています:

    Dim pieces(500) As PictureBox
    pieces(1) = New PictureBox
    With pieces(1)
        .CreateControl()
        .Visible = True
        .BackColor = Color.Red
        .Width = 50
        .Height = 50
        .Left = 50
        .Top = 50
    End With

プログラムはクラッシュすることもありませんが、画像ボックスはフォームのどこにも表示されません。これを正しく機能させるにはどうすればよいですか?

そして、「コントロールアレイ」はこれの正しい用語ですか?または、他の何か?

4

2 に答える 2

4

これらのPictureBoxをフォームに追加するまで表示されません。

あなたはすでにWindowsフォームを持っていると思うので、あなたがしなければならないのは: Window.Controls.Add(PictureBox)

フォームオブジェクトが「ウィンドウ」と呼ばれると仮定します

それらを1つずつ追加する必要があり、配列上にある必要はありません。そのため、Windowsフォーム内にControlコレクションがあります。

ControlArrayはVB6の用語であり、.NETでは使用されなくなりました。.NETとVB6のプログラミングモデルは大きく異なります。時間をかけて、優れたチュートリアルや優れた本を読む必要があります。

于 2011-05-08T05:07:53.713 に答える
2

表示したいフォームまたはパネルに追加する必要があります。

CreateControlは子を作成するだけで、コントロールのハンドルを強制的に作成しますが、フォームまたは親コントロールには配置されません(何を追加すればよいかわかりません!)。

于 2011-05-08T05:12:11.177 に答える