UserControl如何破坏自己?

P a*_*u l 7 winforms

当用户单击窗口的某个部分时,我将UserControl添加到窗口的控件中.UserControl有一个关闭按钮.我可以在UserControl的按钮处理程序中执行哪些操作来销毁UserControl?似乎没有.net类似于Win32 DestroyWindow调用,并且控件没有Close()方法.到目前为止我有这个:

private void sbClose_Click(object sender, EventArgs e)
{
    Parent.Controls.Remove(this);
    this.Dispose();
}
Run Code Online (Sandbox Code Playgroud)

并且,如果父母需要销毁控件,那么步骤是什么?这是我到目前为止:

    Controls.Remove(control);
    control.Dispose();
Run Code Online (Sandbox Code Playgroud)

Bev*_*van 6

你与垃圾回收托管代码环境中工作-有什么可以做,以迫使被破坏的用户控件.

所有你需要做的,你能做的就是从父母那里删除它,并确保没有剩余的引用.

这通常就足够了:

private void sbClose_Click(object sender, EventArgs e)
{
    Parent.Controls.Remove(this);
}
Run Code Online (Sandbox Code Playgroud)

你需要更多的唯一时间是你将事物与事件联系在一起,因为你也需要注销这些事件.