IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Theodor Johnson
Tvůrce
Avatar
Theodor Johnson:22.8.2012 21:48

Chtěl jsem se zeptat, jaký příkaz se nejlépe hodí k ukončení aplikace bez datových ztrát, zatím žádný neznám, ale přijde mi že Process.GetCu­rrentProcess()­.Kill(); před uložením všech dat není zrovna bezpečný, nevíte někdo jaký je nejbezpečnější způsob ukončení?

Odpovědět
22.8.2012 21:48
Mo8ilε 15 Ѐλđ
Avatar
David Jančík
Vlastník
Avatar
Odpovídá na Theodor Johnson
David Jančík:22.8.2012 22:09

Příjde na to. Aplikaci můžeš ukončit mnoha způsoby.

Close();

Zavře instanci okna.

Application.Exit();

Ukončí hlavní form aplikace. Tzn. se vypne.

Environment.Exit();

Brutálně zavře aplikaci. Můžeš použít i v konstruktou formu.

A další...

Přes procesy vlastně zavřeš daný proces aplikace.

Jestli chceš zavřít jinou aplikaci než svou tak tam je nějaký

CloseMainWindow();

To ukončí aplikaci jako když klepneš v task manageru na ukončit. Tedy korektně se vyšle signál a aplikace jej zpracuje. A pak je ještě

Close();

ten zažádá o zavření všech instancí spojených z daným procesem.

Nahoru Odpovědět
22.8.2012 22:09
Zapomeň, že je to nemožné a udělej to ;)
Avatar
Theodor Johnson
Tvůrce
Avatar
Odpovídá na David Jančík
Theodor Johnson:22.8.2012 22:11

Takže jestli jsem to dobře pochopil tak nejlepší k ukončení celé aplikace je Close() ?

Nahoru Odpovědět
22.8.2012 22:11
Mo8ilε 15 Ѐλđ
Avatar
Theodor Johnson
Tvůrce
Avatar
Odpovídá na David Jančík
Theodor Johnson:22.8.2012 22:14

Ale co když v aplikace má víc forms, znamená to že Application.Exit(); ukončí jen hlavní, nebo všechny?

Nahoru Odpovědět
22.8.2012 22:14
Mo8ilε 15 Ѐλđ
Avatar
David Jančík
Vlastník
Avatar
Odpovídá na Theodor Johnson
David Jančík:22.8.2012 23:52

Close ti ukončí aktivní instanci daného formu. Application.Exit(); ve zkratce ukončí všechno.
Můžeš si počíst taj: http://msdn.microsoft.com/…s157894.aspx

Nahoru Odpovědět
22.8.2012 23:52
Zapomeň, že je to nemožné a udělej to ;)
Avatar
denoy
Člen
Avatar
denoy:24.8.2012 17:25

Já používám 2 Formy, login a 'to potom' nějaké to rozhraní, když zavře form2, tak se ho jěště zeptám, jestli orpavdu chce zavřít, když ano volám Application.E­xit();, protože Close() ti zavře jen ten daný Form2 a Form1 pořád běží jako invisible, ve Form1 dle mě je už celkem jedno, jestli použiješ Close nebo Exit, jinak sczdavos to celkem pěkně popsal.

 
Nahoru Odpovědět
24.8.2012 17:25
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 6 zpráv z 6.