我正在研究我的项目:[啤酒乒乓管理系统] [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
答案 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传递给;它将为您提供已添加的所有控件和子控件的列表。如果控件不在列表中,则也不应该对它们进行绘制。