vb.net在运行时删除标签和文本框

时间:2015-05-18 14:50:58

标签: vb.net

所以我有一个类在调用时创建一个新的标签和文本框。每个标签和文本框的名称都是使用名为i的变量向上计数的连续顺序:

  • "Label" & i创建名称Label1,"Textbox" & i创建名称Textbox1
  • i += 1

等等。现在我想添加一个使用i删除最后一个标签和文本框的过程。我试图使用下面的代码行来完成此过程,但这不起作用,因为字符串无法转换为system.windows.forms.control:

Form1.Controls.Remove("Label" & i) Form1.Controls.Remove("Textbox" & i) i -= 1

Controls是使用代码行的控件列表: Public controls As List(Of Control)

基本上我需要一种方法来使用类中的变量i来删除标签和文本框。有任何想法吗?感谢。

2 个答案:

答案 0 :(得分:1)

尝试......

Form1.Controls.RemoveByKey("Label" & i)
Form1.Controls.RemoveByKey("Textbox" & i)

如果您将这些控件隐藏在表单上的GroupBoxPanel或其他容器中,则无效。

答案 1 :(得分:0)

我认为您应该尝试将控件添加到面板中,然后按照此链接的建议将其删除(它与您尝试的非常相似,但在面板中):

Removing Dynamically created controls in Panel