VB - 访问使用代码创建的控件

时间:2013-03-21 02:59:36

标签: vb.net

因此,如果我使用代码创建PictureBox

    Dim the_pic As New PictureBox
    With the_pic
        .Name = "pic"
        .Size = New Size(30, 100)
        .Location = New Point(0, SCREEN_HEIGHT / 2 - 50)
        .SizeMode = PictureBoxSizeMode.StretchImage
        .BackColor = Color.White
    End With
    Me.Controls.Add(the_pic)

...如何访问创建的PictureBox的方法和属性?因为它是在代码中创建的,所以我不能直接编写它。如果我pic.*它不知道pic存在,因为它是在运行时创建的。我如何解释这个?非常感谢所有帮助。

2 个答案:

答案 0 :(得分:1)

  

它不知道pic存在,因为它是在运行时创建的

这不太正确。

实际上,它不知道the_pic存在,因为它是本地变量
该变量在其定义的函数之外是不可见的。

如果你把它作为课堂上的一个字段,它将在课堂的任何地方都可见 如果您想拥有多个,请使用List(Of PictureBox)

请注意,Name属性不相关。

答案 1 :(得分:0)

您应该使用您为其声明的名称:the_pic,这是其程序化名称。

如果你看一下.designer.vb文件,你会发现当你以图形方式添加一个控件时,这就是设计师在幕后所做的事情。

您还需要在the_pic全局和WithEvents声明Private WithEvents the_pic as PictureBox 如果您没有声明它WithEvents,您将无法连接其任何事件。