0

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" });
}
4

1 回答 1

3

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

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

   while (tabControl1.TabCount > 0) tabControl1.TabPages[0].Dispose();
于 2013-08-27T09:04:30.933 回答