

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.
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.