Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > .NET для новичков > MDIChild


Автор: WERITAS 21.10.2007, 15:23
Доброго времени суток. Есть MDIContainer и его "дети". Нужно, чтобы при нажатии кнопки на MDIContaine'e, все его формы-дети закрывались, если они запущенны. 
Пробовал вот так: но не сработало. 
Код

public Form1()
{
MDIChild = new Form2();
MDIChild.Parent = this;
}
................................
public OnPress(...)
{ 
if(MDIChild.Activate) MDIChild.Close();  // Не работает :-(  

Как же такое реализовать?

Автор: tol05 21.10.2007, 18:22
ну я, например, сделал так
Код

private void button2_Click(object sender, EventArgs e)
{
    foreach (Form form in MdiChildren)
    {
        if(form.Visible) form.Close();
    }
}
но с учетом того, что при закрытии дочерней формы она становится disposed, то можно и проще
Код

private void button2_Click(object sender, EventArgs e)
{
    foreach (Form form in MdiChildren)
    {
        form.Close();
    }
}


Автор: CYBERDREAM 21.10.2007, 19:08
2 tol05: рульно, а я корявым подходом это реализовывал. Thx smile 

Автор: WERITAS 22.10.2007, 03:25
Да, всё работает  smile 
tol05 , респект

..В который уже раз меня выручаешь! Лови плюс!  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)