我向面板添加了几个窗体。表单具有属性关闭Windows窗体中的控件中的所有窗体
form.TopLevel = false;
form.Parent = pnlMain;
现在我想遍历pnlMain中的所有窗体并关闭所有窗体。要做到这一点,我有以下代码:
private void CloseForms()
{
foreach(Form form in pnlMain.Controls.OfType<Form>())
form.Close();
}
我的问题是,并非所有窗体都关闭。
在具有四个开形式的例子:我计数的开放形式,
int count = pnlMain.Controls.OfType<Form>().Count();
当我打电话CloseForms,只有两种形式都关闭。另外两个在CloseForms的另一个电话上关闭。
如何只用一个电话关闭所有窗体?
东西在oncloseing?或关闭事件? – BugFinder
OT:你不应该在面板中有表单。看看UserControls。 –
我想在此面板中将子窗体作为子窗体。所以userconrols不适合。 – Tomtom