从父窗体中删除用户控件

Ira*_*ili 1 c# winforms

我使用此代码在主窗体上显示用户控件

    private void MainForm_Load(object sender, EventArgs e)
    {
        Sell sell = new Sell();
        sell.Dock = DockStyle.Fill;
        this.Controls.Add(sell);
    }
Run Code Online (Sandbox Code Playgroud)

我想从主窗体中删除此用户控件,但此代码不起作用

this.Controls.Remove(sell);
Run Code Online (Sandbox Code Playgroud)

我试过this.Parent.controls.Remove(sell);但它也不起作用.请指教一下......

Fré*_*idi 7

也许你正在创建另一个Sell控件并尝试删除它?如果是这样,那将无法工作,因为这是与您在表单加载时添加的对象不同的对象.

执行所需操作的一种方法是为Sell控件命名并使用该名称以后删除它:

private void MainForm_Load(object sender, EventArgs e)
{
    Sell sell = new Sell();
    sell.Name = "mainSell";
    sell.Dock = DockStyle.Fill;
    this.Controls.Add(sell);
}

// Later...
this.Controls.RemoveByKey("mainSell");
Run Code Online (Sandbox Code Playgroud)