begin process at 2010 02 09 20:28:13
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C#

 > 

Archives

 > 

.NET

 > 

[C#] Quitter l'application dans le constructeur MainForm()


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

[C#] Quitter l'application dans le constructeur MainForm()

jeudi 3 juin 2004 à 01:31:27 | [C#] Quitter l'application dans le constructeur MainForm()

scoubidou944

De retour dans les problèmes simples qui bouffent la vie ;p
J'ai une appli avec pour formulaire principal l'objet MainForm.
Ce dernier appelle la fonction InitializeComponent() généré par Visual Studio et ensuite, je peux poser mon code d'init.

Dans ce code d'init justement, j'ouvre une boite de dialogue pour choisir différentes options dont celle de quitter si l'utilisateur se rend compte qu'il a 2 mains gauches & 10 pouces et qu'il n'a donc pas cliqué sur la bonne appli.

Ma dialog retourne DialogResult.OK ou DialogResult.Cancel jusque la aucun pb.

Par contre :
this.Close();
dans le cas du Cancel, bah ca marche pas :(.

Une ID ?

Thx.

Vince
----------------------------
C++ forever
C# amateur
jeudi 3 juin 2004 à 07:34:13 | Re : [C#] Quitter l'application dans le constructeur MainForm()

Crazyht

Administrateur CodeS-SourceS
Donc le user a 12 doi :)

Application.Exit (); devrait fonctionner.

A++

Crazyht

[Admin Codes-Sources]
[Membre Developer-Association]


Un programmeur, c'est quelqu'un qui résout pour toi, de façon incompréhensible, un problème que tu ignorais avoir...
vendredi 4 juin 2004 à 10:35:32 | Re : [C#] Quitter l'application dans le constructeur MainForm()

crack_xp

Effectivement ....
cependant j'aimerai auouter des pt truc a la fermeture de l'apli.

il ne faut pas oublier de liberer les resources deja utilisées :

this.Dispose();

//Si un thread tourne :
Application.ExitThread();

et ainsi de suite .....

NO TIME TO WASTE
vendredi 4 juin 2004 à 12:09:00 | Re : [C#] Quitter l'application dans le constructeur MainForm()

scoubidou944

Quelle belle erreur en fin de Main() :
An unhandled exception of type 'System.ObjectDisposedException' occurred in system.windows.forms.dll

Additional information: Impossible d'accéder à un objet supprimé nommé "MainForm".

J'ai essayé différentes combinaisons de cette fonction :
void LeaveApplication ()
{
this.Dispose ();
this.Close();
Application.ExitThread ();
Application.Exit ();
}

Une ID ?

----------------------------
C++ forever
C# amateur
vendredi 4 juin 2004 à 12:25:22 | Re : [C#] Quitter l'application dans le constructeur MainForm()

scoubidou944

Le problème vient en fait que la procédure de 'quittage' est dans le constructeur de MainForm.
On a donc le Main() suivant :

static void Main()
{
MainForm oForm;

oForm = new MainForm();
Application.Run(oForm);
}

Et donc le plantage a lieu lors de l'appel de Application.Run puisque l'objet est valide mais le constructeur a appelé la fin de l'appli (le destructeur etant appelé implitement après Application.Run()


----------------------------
C++ forever
C# amateur
mercredi 9 juin 2004 à 13:20:21 | Re : [C#] Quitter l'application dans le constructeur MainForm()

ppao

Si tu reçoit un DialogResult.Cancel, tu peux lancer un thread qui va dormir un peu et qui vérifie à intervalles réguliers la propriété Created de ta Form, si c'est true, tu met un this.Close(), sinon le thread se rendor un peu etc...

Le framework met la propriété Created à true à la fin du constructeur d'une Form.

Comme ça toutes les initialisations se font, mais le framework peu libéréer les resources lors du Close() et quitter l'application.

(On peut aussi utiliser l'idée pour implémenter un splashscreen en adaptant un peu.)
jeudi 12 novembre 2009 à 11:20:11 | Re : [C#] Quitter l'application dans le constructeur MainForm()

gluk

Comme ça

// procédure de fermeture de l'application
public void closeAPP(){
if( !this.Created ){
Timer oTimer = new Timer();
oTimer.Tick += delegate { this.closeAPP(); };
oTimer.Interval = 500;
oTimer.Start();
return;
}
this.Dispose ();
this.Close();
Application.ExitThread ();
Application.Exit ();
}

@+
jeudi 12 novembre 2009 à 11:32:25 | Re : [C#] Quitter l'application dans le constructeur MainForm()

gluk

Ou mieux encore

// procédure de fermeture de l'application
public void closeAPP(){
if( !this.Created ){
this.Load += delegate { this.closeAPP(); };
return;
}
this.Dispose ();
this.Close();
Application.ExitThread ();
Application.Exit ();
}

@+
mardi 17 novembre 2009 à 09:58:23 | Re : [C#] Quitter l'application dans le constructeur MainForm()

Aerdanel

Merci Gluk ! C'est précisément ce que je cherchais, et ça marche du feu de dieu ! \ o /


Cette discussion est classée dans : appli, application, quitter, mainform, constructeur


Répondre à ce message

Sujets en rapport avec ce message

L'application ne se ferme pas [ par MorpionMx ] Bonjour à tous.Voila je vous expose mon problème.J'ai développé une appli qui peut se résuit en system tray.Cependant, si on souhaite fermer windows, Petite erreur [ par MorpionMx ] Voilà, j'ai developpé pour quelqu'un une petite appli, mais le probleme, c'est que quand cette personne veut l'executer, elle a l'erreur "l'applicatio Application Console [ par reyman ] Bonjour a tousJ'ai une appli console et j'aimerai, avant que l'appli se termine, pouvoir stocker ds un fichier texte l'ensemble des données affichées Crystal report et l'install d'appli [ par paloxicide ] Je développe en .net2 sous VS 2005.J'ai une application fonctionnant avec du crystal report.Je crée un rpojet d'installation pour mon application.Puis Quitter application [ par emmanuel9 ] Bonjour à tous, En faite mon problème est que j'ai deux form : sur la form1 j'appelle form2 via showdialog et en faite quand on clique sur un bouton s Lancer une application non windows asp.net [ par FanchPot ] Bonjour,je souhaite lancer une application non windows sur le serveur lorsque je clique sur un boutton de ma webform. Voici le code que j'utilise : Pr Comment savoir si une fenetre est déjà ouverte. [ par Manu94600 ] Salut à tous,Je voudrais savoir comment faire pour connaitre toutes les fenetres d'un application qui sont affichées.Alors je m'explique :).J'ai une f [SPS2003] Connection distante [ par FREESLY ] Bonjour, débutant en C# et ayant un projet d'application un peu poussé j'ai décidé de m'y prendre par étape. La premiere est juste de faire une Appli Appli en Reseau [ par fredspv ] Bonjour;J'ai une application qui tourne parfaitement en local mais si je mets l'application sur un serveur centralisé l'application ne fonctionne pas Protection [ par fdouieb ] Bonjour, J'ai une application qui réside sur une clé USB classique. Je branche ma clé et mon appli tourne. Je souhaite faire profiter mon application


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,686 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales