我已经在Visual Basic中创建了一个程序,通过单击PictureBox来打开文件,但结果,我最终得到了36个图片框,并且处理它们中的每一个都很痛苦,因为它是唯一的我发现参考PictureBox(Nº)的方式
正在制作
Dim pictureBoxes(35) As PictureBox
并将每个设置如下:
pictureBoxes(0) = PictureBox1
pictureBoxes(1) = PictureBox2
pictureBoxes(2) = PictureBox3
...
pictureBoxes(35) = PictureBox36
然后我可以在For循环中使用它:
PictureBoxes(i).Image = iconForFile.ToBitmap()
所以,我的问题是,有没有办法让它更容易引用,而不是那样做? 同样的事情让我想起代码的Handles部分:
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...
任何亮点都会非常有用,谢谢!
答案 0 :(得分:1)
我不知道您的控件是如何在表单上构建的,但如果它们是同一个集合的一部分,例如一个流程图,您可以获得某种类型的所有控件。在您的情况下,您希望能够访问单个框,以便您可以执行此操作并将列表存储在列表中,如您所知。
Dim pictureBoxes = FlowLayoutPanel.Controls.OfType(Of PictureBox)().Tolist()
For Each picture in pictureBoxes
AddHandler picture.Click, AddressOf PictureBox_Click
Next