Problème de fermeture de Form

Résolu
cs_emmanuel9
Messages postés
903
Date d'inscription
mercredi 23 février 2005
Statut
Membre
Dernière intervention
16 juin 2010
- 17 févr. 2006 à 11:28
cs_emmanuel9
Messages postés
903
Date d'inscription
mercredi 23 février 2005
Statut
Membre
Dernière intervention
16 juin 2010
- 17 févr. 2006 à 12:54
Bonjour à tous,

J'ai une form avec une notifyicon et le problème c'est que quand je quitte windows mon appli empeche windows de se fermer j'ai l'impression. Quand windows est fermer par défaut il quitte les applis ouverte mais il s'arrete à la mienne. Soit mon appli est tellement mal concu que windows, qui est mal concu egalemment, deconne et n'arrive pas à la fermer ou soit y doit manquer un bout de code quelque part.

Qu'en pensez vous ?

Par avance, merci.

10 réponses

MorpionMx
Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Membre
Dernière intervention
30 octobre 2008
57
17 févr. 2006 à 12:03
Si c'est le cas, plusieurs choix (en .Net 1)

Ajouter ce code a ton appli


<HR>

public const int SC_CLOSE = 0xF060;
public const int WM_SYSCOMMAND = 0x0112;
private bool closeClick;

protected override void WndProc(ref System.Windows.Forms.Message m)
{if(m.Msg WM_SYSCOMMAND && (int)m.WParam SC_CLOSE)
this.closeClick = true;
base.WndProc(ref m);
}

<HR>
Si closeClick est a true, tu annules ton evenement, sinon, tu laisses windows fermer.

Ou utiliser les evenements de la classe SystemEvents
Mx
MVP C#
3
MorpionMx
Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Membre
Dernière intervention
30 octobre 2008
57
17 févr. 2006 à 11:56
Salut,

Tu n'aurais pas une annulation dans l'evenement Closing de ton appli ?



Mx
MVP C#
0
sebmafate
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Membre
Dernière intervention
14 février 2014
38
17 févr. 2006 à 11:57
hum... à la fermeture du formulaire ne ferais-tu pas un e.Cancel = false ?


Sébastien FERRAND (
blog)
[Microsoft MVP Visual C#]
0
cs_emmanuel9
Messages postés
903
Date d'inscription
mercredi 23 février 2005
Statut
Membre
Dernière intervention
16 juin 2010
2
17 févr. 2006 à 12:20
ben oui justement je fais e.Closing = false pour qu'il ne reste plus que mon notifyicon de visible. Merci je vais suivre ton idée.C'est chiant je peux tjs pas valider les réponses, j'ai essayé avec firefox et explorer et ca ne fait rien.
0

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

Posez votre question
cs_emmanuel9
Messages postés
903
Date d'inscription
mercredi 23 février 2005
Statut
Membre
Dernière intervention
16 juin 2010
2
17 févr. 2006 à 12:20
Ca serait pas un problème avec le javascript qui n'est pas actif ou un truc comme ca ?
0
cs_emmanuel9
Messages postés
903
Date d'inscription
mercredi 23 février 2005
Statut
Membre
Dernière intervention
16 juin 2010
2
17 févr. 2006 à 12:25
Je voudrais mettre en ligne une classe sur csharpfr qui recoit une ArrayList de chaine et qui renvoi une objet PrintDocument pour l'impression, ca gére le retour automatique à la ligne et le nombre de page. Mais c'est du c++.net, est ce que je peux le mettre en ligne ou bien est ce que je dois le convertir en c# ?
0
MorpionMx
Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Membre
Dernière intervention
30 octobre 2008
57
17 févr. 2006 à 12:39
Oui, pour la validation, y'a un petit bug ces temps.
Et pour ta source, si c'est du c++.net, il faut le mettre sur cppfrance (y'a une section .net). Sinon il faudra que tu la convertisse en C# pour la poster ici



Mx
MVP C#
0
cs_emmanuel9
Messages postés
903
Date d'inscription
mercredi 23 février 2005
Statut
Membre
Dernière intervention
16 juin 2010
2
17 févr. 2006 à 12:41
Dans l'évenement Closing de ma Form, j'ai :

MessageBox.Show(closeClick) ;

if (closeClick == false)
{
e.Cancel = true ;
this.Visible = false ;
}

Et quand je ferme Windows Le messagebox me marque "false".. et donc ne ferme pas mon appli.
0
MorpionMx
Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Membre
Dernière intervention
30 octobre 2008
57
17 févr. 2006 à 12:45
Oui, closeClick sera a true quand c'est l'utilisateur qui va vouloir quitter la Form il me semble.
Donc il ne faut pas annuler l'evenement quand closeClick est a false, mais quand closeClick est a true...



Mx
MVP C#
0
cs_emmanuel9
Messages postés
903
Date d'inscription
mercredi 23 février 2005
Statut
Membre
Dernière intervention
16 juin 2010
2
17 févr. 2006 à 12:54
if (closeClick == true)
{
e.Cancel = true ;
this.Visible = false ;
}

Oui comme ca, ca marche, j'avais inversé, merci de ton aide.
0