Application.Exit() <- Bp

cs_JCpp Messages postés 334 Date d'inscription samedi 12 janvier 2002 Statut Membre Dernière intervention 3 juillet 2010 - 18 nov. 2003 à 13:28
nerix27 Messages postés 86 Date d'inscription jeudi 23 octobre 2003 Statut Membre Dernière intervention 21 juin 2007 - 20 oct. 2006 à 14:21
J’ai réaliser une petite application en c#.

Je voudrai quitter cette application avec une ligne de programme.
Il y a-t-il une autre fonction, car avec Application.Exit(); ne semble pas fonctionner

...
public Form1()
{
...
...
   Application.Exit(); // PB ICI ???
}
...
static void Main() 
{
   Application.Run(new Form1());
}
....


Merci pour mon aide

http://perso.wanadoo.fr/iar/IA.html

11 réponses

cs_Crazyht Messages postés 1522 Date d'inscription mardi 18 décembre 2001 Statut Membre Dernière intervention 21 août 2010 8
18 nov. 2003 à 16:55
Si tu close form1 il quit le prog aussi.

Currentthread.quit ou kk chose kom ca.

A++

:-p 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...
0
cs_JCpp Messages postés 334 Date d'inscription samedi 12 janvier 2002 Statut Membre Dernière intervention 3 juillet 2010
18 nov. 2003 à 18:50
Oui, c’est pour quitter form1
Le compilateur n’accepte pas Currentthread
0
cs_Crazyht Messages postés 1522 Date d'inscription mardi 18 décembre 2001 Statut Membre Dernière intervention 21 août 2010 8
18 nov. 2003 à 19:44
dans ce cas this.close suffit pour fermer Form1.

A++

:-p 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...
0
cs_JCpp Messages postés 334 Date d'inscription samedi 12 janvier 2002 Statut Membre Dernière intervention 3 juillet 2010
18 nov. 2003 à 20:35
DSL
this.Close(); ne donne rien.
j'ai esayé Form1.ActiveForm.Close(); idem rien

Faut il ajouter un using ou "references" ?
Merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
gg00xiv Messages postés 656 Date d'inscription mercredi 22 août 2001 Statut Membre Dernière intervention 11 mars 2005 13
18 nov. 2003 à 23:57
tu le fe ou ton this.Close(); ?

Si c'est dans le constructeur c normal, la boucle d'interception des messages Windows nest pas encore lancer, donc ton message WM_CLOSE n'arrive pas.

Sinon précise le contexte. On pourra mieux t'aider.

[Membre du laboratoire .NET de SUPINFO]
0
cs_JCpp Messages postés 334 Date d'inscription samedi 12 janvier 2002 Statut Membre Dernière intervention 3 juillet 2010
19 nov. 2003 à 12:48
C’est tout simple :

using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;

namespace WindowsApplication1
{

public class Form1 : System.Windows.Forms.Form
{
private System.ComponentModel.Container components = null;

public Form1()
{
InitializeComponent();
Go();
}

protected override void Dispose( bool disposing )
{
if( disposing )
if (components != null) {components.Dispose();}}
base.Dispose( disposing );
}

#region Windows Form Designer generated code
private void InitializeComponent()
{
…
}
#endregion
[STAThread]
static void Main() 
{
Application.Run(new Form1());
}

private void Go()
{
…
// Ici je veux quitter
}
0
SharpMao Messages postés 1024 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 7 juin 2010 69
19 nov. 2003 à 13:05
Tu appelle Go() depuis le constructeur, et donc, comme l'a dit gg00xiv, tu ne peux pas quitter.
Il faudrait :
la fermer lors d'une action de l'utilisateur,
ou créer un thread qui la fermerait après le constructeur.
Ceci dit, je ne vois pas ou est le but de créer une frame pour la refermer tout de suite.
Amicalement SharpMao
0
gg00xiv Messages postés 656 Date d'inscription mercredi 22 août 2001 Statut Membre Dernière intervention 11 mars 2005 13
19 nov. 2003 à 14:07
Met ce code dans le Form1_Load ca marchera

[Membre du laboratoire .NET de SUPINFO]
0
nerix27 Messages postés 86 Date d'inscription jeudi 23 octobre 2003 Statut Membre Dernière intervention 21 juin 2007 2
20 oct. 2006 à 13:47
Effectivement, depuis le constructeur, ça n'ira pas !

Petite astuce tout de même pour fermer une appli récalcitrante :

[code]


Process Proc_EnCours


= Process. GetCurrentProcess


();



Process[] Les_Proc = Process.GetProcesses



();




foreach




(Process Processus in


Les_Proc

)

{




if




(Processus.ProcessName.ToLower




() ==
"appli"




)

{



Processus.Kill



();

}


}
/endcode

où "appli" est le nom de ton programme

avec un p'tit "using System.Diagnostics;" en haut de ton code
0
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
20 oct. 2006 à 14:16
De vieux poste qui refont surface...

<hr size="2" />-Blog-
0
nerix27 Messages postés 86 Date d'inscription jeudi 23 octobre 2003 Statut Membre Dernière intervention 21 juin 2007 2
20 oct. 2006 à 14:21
Eh oui, en faisant une petite recherche, je suis tombé dessus...


Si mon post peut aider quelqu'un dans la panade, j'aurai fait ma B.A. ;-)
0
Rejoignez-nous