【发布时间】:2019-06-02 11:24:58
【问题描述】:
我正在生成一个 RichTextBox 和一个带有另一个按钮的按钮。单击生成的按钮时,我想删除 RichTextBox 及其本身。
static int i = 1;
private void generate_Click(object sender, EventArgs e)
{
RichTextBox text = new RichTextBox();
Button delete = new Button();
this.Controls.Add(text);
this.Controls.Add(delete);
i++;
}
【问题讨论】:
-
您可以将控件的名称设置为删除方法以后可以使用Find() 查找控件的名称。您还可以在删除方法可以使用的类成员中存储对控件的引用。
-
您的声明在错误的范围内。 “文本”和“删除”(顺便说一句,名字很糟糕)应该在表单级别声明。使用
text.Dispose();和delete.Dispose();摆脱它们。仅仅调用this.Controls.Remove(...)是不够的,因为它会将控件保留在内存中。