Dva formuláře   otázka

C#, WinForms

Zdravím.

Prosím o radu. Mám formulář na něm tlačítko. Po stisknutí tlačítka se otevře druhé okno. Pokud ve druhém okně zavolám this.Close(); zavře se celá aplikace. Potřeboval bych ale, aby se zavřelo jenom to okno, ve kterém zavolám tu událost this.Close();

Prosím o radu. Díky

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Aplikace končí uzavřením formuláře, který je předán metodě Application.Run ve statické třídě Program, metodě Main. this.Close není událost ale metoda. Pokud zavoláte this.Close v jiném formuláři než tom, co je předán metodě Application.Run, aplikace se neukončí (pokud není něco na ukončení aplikace v události Closing nebo podobné).

nahlásit spamnahlásit spam 0 odpovědětodpovědět

v té metodě Application.Run mám nějaký hlavní fotmulář. Pkud mi ten vyvolá jiný fotmulář (ShowDialog(), Show()) a zen zavřu, tak se mi ukončí celá app. metoda FormClosing i FormClosed jsou nedefinované.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

To je divné, opravdu nikde nemáte nic, co by zavřelo formulář, který je nastaven jako hlavní? Ještě se podívejte co máte nastaveno ve vlastnostech projektu, na záložce Application. Skoro dole je combobox nadepsaný jako Shutdown mode: defaultně tam je When startup form closes

Pokud to tam máte, zkuste sem hodit kus kódu.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Toto je možnost dostupná pouze pro Visual Basic .NET a je to spojeno s funkcemi, které poskytuje Application Framework. V C# tato možnost není a vytváření spouštěcího formuláře si vždy zajišťujete ručně (stejně jako když ve VB použijete Startup object: Sub Main).

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Aha tak to se omlouvám za mystifikaci, myslel jsem že to je stejné jako ve VB.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

To je pitomost. Napište sem kompletní kód včetně třídy, který podle vás ukončuje aplikaci.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback