在我的一个功能中,图片框被创建并添加到表单中,一切正常。只是,我希望以后能够在不同的功能中删除特定的功能。我尝试使用Me.Controls.Remove(Control_Name)但是这只是给出了一堆错误,因为控件还不存在而且不会构建为运行。
有没有办法绕过这个并能够删除控件?
答案 0 :(得分:1)
如果我理解正确,你就是指这样的动态控件:
null
其中Me.Controls.Remove(Control_Name)
是尚未存在的控件的名称。实际上,在指定Control_Name
的情况下, 应该给你一个关于Option Explicit
不是声明标识符的编译错误。
将控件视为公共字段(其中...... ) - 如果控件在设计时不存在,那么它就没有字段编译时,所以参考例如Control_Name
将是非法的。
请尝试使用字符串文字:
Control_Name.Text
如果可能,请使用常量而不是在代码中使用字符串文字:
Me.Controls.Remove("Control_Name")
这样您可以在一个地方重命名所有动态控件,然后您可以轻松添加数字后缀来迭代所有动态创建的图片框:
Const DYNAMIC_PICTUREBOX_NAME As String = "DynamicPictureBox"