

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.
Mockrát děkuju, funguje to
Jen nechápu poznámku, že bych měla při zavírání "měnit rodiče", když jsou instance programu nezávislé. Nicméně to funguje i bez toho, tak snad v tom není nějaký háček...
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.