0

所以如果我用代码创建一个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)

...如何访问 created 的方法和属性PictureBox?因为它是用代码创建的,所以我不能直接对其进行编程。如果我这样做pic.*,它甚至不知道 pic 存在,因为它是在运行时创建的。我该如何解释?非常感谢所有帮助。

4

2 回答 2

1

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

这不太正确。

实际上,它不知道the_pic存在,因为它是一个局部变量
该变量在定义它的函数之外不可见。

如果您将其设置为班级中的字段,则它将在班级中的任何地方可见。
如果你想拥有多个,你应该使用List(Of PictureBox).

请注意,该Name属性不相关。

于 2013-03-21T03:01:34.947 回答
0

您应该使用为它声明的名称:the_pic,即它的程序名称。

如果您查看 .designer.vb 文件,您会发现这是设计器在您以图形方式添加控件时在幕后所做的事情。

您还需要the_pic全局声明 and WithEvents,如Private WithEvents the_pic as PictureBox 如果您不声明它WithEvents,您将无法连接到它的任何事件。

于 2013-03-21T03:01:33.690 回答