如何更改生成的图像框中的图像vb

时间:2016-06-10 14:02:51

标签: vb.net

我必须做一个程序,我可以生成Button,Label,ImageBox并使用它们。现在我正在搜索如何在创建的ImageBox中更改图像,它写道:此元素不存在。如何访问创建的元素?

 Dim PictureB As New PictureBox
 PictureB.Size = New System.Drawing.Size(200, 120)
 PictureB.Location = New System.Drawing.Point(350, 20)
 PictureB.BorderStyle = BorderStyle.Fixed3D
 TabPage1.Controls.Add(PictureB)

 "New sub"
 OpenFileDialog1.ShowDialog()
 PictureB.ImageLocation = OpenFileDialog1.FileName

1 个答案:

答案 0 :(得分:0)

您的"新子"无法访问

PictureB因为它只存在于您作为临时私有变量创建的子过程中。但是,您创建的PictureBox确实存在于TabPage1.Controls中,因此您可以循环访问它。

根据您的要求,您似乎还需要获得您创建的精确PictureBox,因此我建议您在创建时添加一个名称,例如PictureB.Name = "Pic1"。我在下面添加了一个示例Sub,显示了如何实现目标。

Public Sub SetImage(ByVal PictureBoxName As String)
    If OpenFileDialog1.ShowDialog = DialogResult.OK Then
        For Each c As Control In TabPage1.Controls
            Dim pb As PictureBox = TryCast(c, PictureBox)
            If Not IsNothing(pb) Then
                If pb.Name = PictureBoxName Then
                    pb.ImageLocation = OpenFileDialog1.FileName
                    Exit For
                End If
            End If
        Next
    End If
End Sub

或者,您可以考虑创建事件句柄:这将更多涉及,但是将是一个很好的学习体验。