0

紛らわしいタイトルで申し訳ありません-これが私が使用しているコードです。

コード例 -

    If bolCorrect = False Then
        intIncorrect += 1
        temp3 = "picture" + CStr(intIncorrect)
        temp3.Visible = True

私はいくつかの画像をすべて持っており、名前は画像 [number-from-0-to-10] で、変数の数に応じてそれらを表示したいと考えています。

それがスローするエラーは、「Visible」が「String」の一部ではないということです。この場合、インタープリターに「temp3」を見てもらい、変数の型 (文字列など) ではなくツールボックス項目を参照させるにはどうすればよいですか?

4

2 に答える 2

1

ピクチャ ボックス コントロールに設定した実際の名前プロパティを参照する必要があります (ピクチャ ボックス コントロールを使用している場合)。したがって、ピクチャ ボックス コントロールの名前が pb1 の場合

pb1.Image = System.Drawing.Image.FromFile("picture" + counter + ".jpg")
pb1.Visible = True
于 2013-01-23T16:37:12.173 に答える
0

通常、文字列を介してコントロールをアドレス指定することは避けるようにしてください。これは通常、適切な解決策をハックするだけです。代わりに、その control への変数を維持するか、あなたの場合は、関連するコントロールの配列を維持し、インデックスを介してそれらにアクセスします。

そうは言っても、コレクションを介して名前を指定してコントロールを取得すること可能です。Form.Controls

Dim ctl = Me.Controls("picture" + CStr(intIncorrect))
于 2013-01-23T17:05:56.690 に答える