Visual BasicでPictureBoxをクリックしてファイルを開くプログラムを作成しましたが、その結果、36個のピクチャボックスが表示されてしまいました。私は、ピクチャ(Nº) を参照するために発見した唯一の方法は
Dim pictureBoxes(35) As PictureBox
同じ名前のVisual Basicハンドルと複数の変数
と、次のようにそれぞれ1を設定を作っていたとして、それらの一つ一つを扱う:
pictureBoxes(0) = PictureBox1
pictureBoxes(1) = PictureBox2
pictureBoxes(2) = PictureBox3
...
pictureBoxes(35) = PictureBox36
その後、私はそれを使用することができますForループ内:
PictureBoxes(i).Image = iconForFile.ToBitmap()
私の質問は、そうするのではなく、参照を容易にする方法があるかどうかです。
同じことがちょっと私は、コードのハンドル部分に疑問作っている:
Private Sub PictureBox1_Click(sender As Object, e As EventArgs) Handles PictureBox1.Click, PictureBox2.Click, PictureBox3.Click, PictureBox4.Click, PictureBox5.Click, PictureBox6.Click, PictureBox7.Click, PictureBox8.Click, PictureBox9.Click, PictureBox10.Click, PictureBox11.Click, PictureBox12.Click, PictureBox13.Click...
どれでも光は非常に参考になる、ありがとう!
ループ内ですべてを使用し、同じ方法でループを使用して値を設定できます。次に、同じループ内でもイベントハンドルを宣言します。 – ib11
Handlesキーワードは、デザイナーには最適です。コードでは、AddHandlerステートメントを使用します。これは、すべてのpbsに同じイベントハンドラを与えることを自明にします。Forループだけです。 –
@ HansPassant、それぞれを個別に使用するかどうかは、どのピクチャボックスが選択されたかを正確に見ることでした。イベントハンドラがforループによって設定されている場合、このように設定されたすべてのピクチャボックスに対して同じ結果が得られるでしょう。 –