Il mio programma WPF 4.0 (C# .Net 4.0) basato su GUI funziona con il database SQL Server . Ogni volta che eseguo la mia applicazione crea una connessione a SQL Server tramite ADO.NET Entity Framework e, se SQL Server non è raggiungibile, genera un'eccezione e mostra MessageBox con notifica.Il modo giusto per chiudere l'applicazione della GUI WPF: GetCurrentProcess(). Kill(), Environment.Exit (0) o this.Shutdown()
Ora voglio che dopo aver letto questo messaggio l'applicazione si spenga. Ho trovato tre modi per farlo:
Process.GetCurrentProcess().Kill();
o
this.Shutdown(); // Application.Current.Shutdown()
o
System.Environment.Exit(0);
Tutti loro lavoro bene e fare quello che mi serve - Chiudere l'applicazione e uccidere processo di applicazione in Windows Task Manager.
Voglio sapere:
- Qual è la differenza tra loro?
- In che modo si chiuderà la mia applicazione più velocemente?
- Quale metodo per chiudere l'applicazione dovrei usare?
Application.Current.Shutdown()
ethis.Shutdown()
allo stesso modo per chiudere l'applicazione?
O forse c'è un altro, più adatto, modo di chiudere un'applicazione GUI WPF?
Application.Exit()
non funziona per me, come ho l'errore:
The event '
System.Windows.Application.Exit
' can only appear on the left-hand side of += or -=
Grazie.
>> Ad4. Questo dipende da cosa sia. Chiaro la funzione di connessione nel costruttore App.cs, quindi «questo» - è l'istanza di App-class. –
Uso Process.GetCurrentProcess(). Kill() quando l'app non riesce a trovare un contesto dati (dove tutto è stato salvato) e l'utente rifiuta di dire all'app dove si trova. Dal momento che nulla può essere salvato comunque, l'app si auto-immola. – HiredMind