quelle est la meilleure pratique pour sortir d'une application WPF?
Je suis de maintenir les application en C#, et j'ai remarqué que le code suivant ne fonctionne pas comme prévu.
private void Form1_Load(object sender, EventArgs e){
...
if (proc.Length == 0)
{
proc = Process.GetProcessesByName("OpCon");
if (proc.Length == 0)
{
WriteLog("DataloggerService start: no TSS process detected; close;");
this.Close();
}
}
...
}
Le code est censé sortir après le Close() appel d'api. Cependant, il est toujours en continuer.
Après un peu de lecture et de recherche, je l'ai modifié pour
private void Form1_Load(object sender, EventArgs e){
....
if (proc.Length == 0)
{
proc = Process.GetProcessesByName("OpCon");
if (proc.Length == 0)
{
WriteLog("DataloggerService start: no TSS process detected; close;");
this.Dispose();
Environment.Exit(0);
}
}
....
}
Il semble à la sortie comme prévu. Cependant, je ne suis pas convaincu que c'est la meilleure pratique?
est-il vraiment nécessaire d'appeler cette.Close() ou cette.Dispose() avant d'Environnement.Exit()?
Grâce.
ce qui concerne,
Sqr
- Voir ceci: stackoverflow.com/questions/3880836/...
- Parlez-vous des Winforms ou WPF application, car dans ce dernier, le constructeur par défaut est la méthode à appeler
- en application WPF, vous ne devez pas appeler
Window
commeForm
.
Vous devez vous connecter pour publier un commentaire.
Dans votre application WPF chaque fois que votre MainWindow qui est spécifié comme StartupURI dans l'App.xaml est fermé, votre application se ferme automatiquement.
Encore si vous souhaitez gérer cette sortie de l'application sur votre fin, vous pouvez aller pour en-dessous de solution.
Remplacer la onClosing de MainWindow et manuellement sortie/arrêt de votre application.