TabControl.TabPages.Clear()突然停止工作

时间:2013-08-27 00:57:01

标签: c# .net winforms

TabControl.TabPages.Clear();刚刚停止工作。它现在还没有清楚。

代码:

    private void menuItem39_Click(object sender, EventArgs e)
    {
        tabControl.TabPages.Clear();
    }

为什么会这样做?

下面是我用来动态添加TabPages到TabControl的代码:

public void menuItem7_Click(object sender, EventArgs e)
{
    tabControl.TabPages.Add(new TabPage() { Text = "Untitled" });
}

1 个答案:

答案 0 :(得分:3)

您正在编写非常危险的代码,Clear()方法不会按照您希望的方式执行。启动TaskMgr.exe,单击“进程”选项卡。使用View + Select Columns并勾选USER Objects选项。在列表中找到您的程序,并密切关注显示的值。请注意,调用Clear()会使降低USER对象值。很可能,当你使用你的程序时,你会看到它稳步攀升。非常糟糕的事情当显示的值达到10000时发生。

删除标签页的正确方法是处理它们。像这样:

   while (tabControl1.TabCount > 0) tabControl1.TabPages[0].Dispose();