2009-08-20 8 views
2

Je veux que l'utilisateur puisse simplement quitter mon application. Cependant, pour une raison quelconque, le code que j'ai sur un délai, contrôlé par un chronomètre, essaie toujours d'exécuter. Je m'en fiche si elle essaie de le faire ou non, mais je veux arrêter l'erreur et forcer la sortie de l'application, en terminant tous les threads en cours d'exécution où ils se trouvent. J'utilise Visual Basic Express 2008 avec SP1 et je code sur vb.net, il s'agit d'une application WinForm.Dans vb.net, comment forcez-vous de quitter une application et étouffez les messages d'erreur?

J'ai essayé tout simplement fermer les formes avec Formname.Close() et moi avons aussi essayé Application.Exit(). J'ai même essayé un Si Then qui est sorti du fil référencé mon champ de saisie, arrêter de fumer avec Application.ExitThread()

Je suis:

ObjectDisposedException était non gérée

Impossible d'accéder à un objet disposé. Nom de l'objet: 'TextBox'.

Comment puis-je gérer cette exception ou simplement terminer de quitter?

Merci pour l'aide!

EDIT: Pour clarifier, je ne m'inquiète pas de savoir comment cela est réalisé, je veux juste que l'application cesse de fonctionner, et qu'aucune erreur ne se produise.

Répondre

1

pouvez-vous éteindre le chronomètre avant de quitter?

+0

Le chronomètre est déclaré à partir d'un sous-programme, il avait déjà arrêté au moment où le ObjectDisposedException a eu lieu. – Cyclone

+0

Il se peut qu'il se passe autre chose. Essayez de supprimer votre zone de texte et/ou votre chronomètre et de voir si elle disparaît sans erreur. Essayez d'isoler quel objet/condition est à l'origine du problème. – Beth

+0

Il exécute toujours le code "LoadBox.AppendText (LoadProgress.Text + Environment.NewLine)" lorsqu'il a déjà été exécuté. Comment puis-je arrêter cela? – Cyclone

2

La pire solution de scénario à votre problème est:

Process.GetCurrentProcess.Kill() 

Cordialement, Zibri

Questions connexes