Windows窗体应用程序中的面板未清除

时间:2010-05-11 20:38:27

标签: c# winforms controls custom-controls

我正在研究我的项目:[啤酒乒乓管理系统] [1],一个Windows窗体应用程序。我目前正在尝试为其添加整个锦标赛模式。简而言之,我创建了一个TabControl,第一个标签页包含设置和设置,第二个页面包含括号。

每场比赛都有一项功能,一旦确定了胜利者,就会出现黄色取消按钮以恢复锦标赛。但是我的问题是当我点击按钮时,系列中的下一场比赛没有被删除。见下文:

Image Here(not high enough rep to insert image)

我试图将MatchUp设置为null,我尝试过dispose(),close()。甚至是Parent.Controls.Remove()。 即使在我切换了应该清除所有内容的标签后,当我回来时它们仍然会坐在那里。

我有一种感觉,我可能会丢失一个参考或者其他东西,因为我甚至无法将新团队推入他们,他们只是坐在那里用他们的按钮。

有没有人有任何提示或知道可能导致此问题的任何已知问题?感谢。

[1] _http://www.cs.rit.edu/~rmb1201/pages/code.shtml

1 个答案:

答案 0 :(得分:1)

也许这段代码可以帮助您找出问题所在:

    public string GetControlSummary(Control rootControl, int level)
    {
        string result = "";
        foreach (Control childControl in rootControl.Controls)
        {
            result += new string(' ', level * 4) + childControl.Name + " (" + childControl.GetType().Name + ")\r\n";
            result += GetControlSummary(childControl, level + 1);
        }
        return result;
    }

只需将您添加控件的tabPage或Panel传递给;它将为您提供已添加的所有控件和子控件的列表。如果控件不在列表中,则也不应该对它们进行绘制。