Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno C# nezavírat potomky okna při zavření rodiče

Ahoj,

potřebovala bych poradit - mám Form a po stisknutí tlačítka se zobrazí další instance toho Formu.

private void New()
{
 Form1 f = new Form1();
 f.Show();
}

Funguje to, ale když zavřu první okno, zavřou se i všechny ostatní. Potřebovala bych, aby všechna okna byla na stejné úrovni. Děkuji za každou radu.

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Takéto správanie sa klasicky robí pomocou vlastného ApplicationContextu. Spravíš si vlastný kontext… poslední
los 03.08.2011 22:42
los

Takéto správanie sa klasicky robí pomocou vlastného ApplicationContextu. Spravíš si vlastný kontext aplikácie, v ktorom preťažíš metódu OnMainFormClosed, aby sa pri zatvorení hlavného okna neukončila aplikácia. V obsluhe udalosti Application.Idle budeš kontrolovať počet otvorených okien v Application.OpenForms a v prípade, že klesne na nulu, ukončíš aplikáciu.

Samostatné procesy budú fungovať samozrejme tiež, ale so všetkými vlastnosťami, ktoré z toho vyplývajú, ako napr. zložitejšie riešenie komunikácie medzi formulármi, väčšie nároky na systémové prostriedky a pod.

Edit: Vo WPF sa to dá spraviť nastavením jednej vlastnosti Application.ShutdownMode.

Zpět do poradny Odpovědět na původní otázku Nahoru