[ Dragan BL @ 28.08.2008. 16:11 ] @
Interesuje me kako da WPF nagovorim da mi zatvori citav program. U Winform-ama sam to radio Application.Exit(); , a za WPF sam nasao da to ide Application.Current.Shutdown();

E sada ako imam dva prozora i to jedan glavni gde su mi podaci a drugi je login prozor imam sljedecu situaciju:

Primjer 1:
Ako podignem glavni prozor PRVO pa onda drugi prozor za login i stavim tu CANCEL dugme da se zatvori citav program "Application.Current.Shutdown();" ta naredba nece raditi. E sada ako prodje login i u glavnom prozoru PRVOM podignutom stavim u NPR File -> Exit (Application.Current.Shutdown();) tu ce raditi.

Primjer 2:
Ako podignem login prozor PRVO i imam opet CANCEL i stavim mu (Application.Current.Shutdown();) radi normalno. Ako user prodje login i udje u drugi glavni prozor i tu stavim File -> Exit (Application.Current.Shutdown();) nece raditi.

Sada mene interesuje kako zamijeniti Application.Exit() jer je to zatvaralo citav program ma gde god da to pozovem.

Mozda se uopste ne radi ovako kako sam ja zamislio u ova dva primjera. Mozda ima neka druga caka za podizanje tih prozora pa bih molio iskusnije da mu to objasne.

Hvala
[ mmix @ 28.08.2008. 16:43 ] @
Radi se tako, i meni to radi. Ne vidim zasto kod tebe ne radi, osim mozda ovoga (iz MSDNa):

Shutdown(): This method can be called only from the thread that created the Application object.

Da ne pozivas Shutdown kroz drugi thread?

[ Dragan BL @ 29.08.2008. 14:01 ] @
Citat:
Shutdown(): This method can be called only from the thread that created the Application object.


Napravio sam jednu "mali" gresku. :( Stavio sam da mi ShowDialog(); bude u konstruktoru klase, kada sam ga prebacio u FormLoad radi sve perfektno.

Nego ako stavim to u konstruktor u cemu je bila greksa da znam za ubuduce. Negde sam nasao da konstruktor se stalno vrti i kada zelim da zatvorim aplikaciju on kaze da nesto nije zavrseno (tako nesto). :)

mmix ako imas jos nekih detalja vezano za ovu gresku (konstruktor) da mi malo pojasnis bio bih ti zahvalan. Znaci zasto nisam smio da stavim u konstruktor klase ShowDialog();?

Hvala ti u svakom slucaju. :)
[ sallle @ 16.01.2009. 02:52 ] @
gasenje forme iz konstruktora bi trebalo da moze sa begininvoke(neki_delegat) , a kao delegat mu das referencu na metodu koja ce odradi zatvaranje.

za izlazak iz programa direktno iz konstruktora probaj: Environment.Exit()

ovo bi trebalo da fercera u obicnim winformama (pa mozda i tebi odradi posao)