因此,如果我使用代码创建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存在,因为它是在运行时创建的。我如何解释这个?非常感谢所有帮助。
答案 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
,您将无法连接其任何事件。