IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

FormClosing cas special


Sujet :

Windows Forms

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2006
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juillet 2006
    Messages : 128
    Points : 61
    Points
    61
    Par défaut FormClosing cas special
    Bonjour,

    J'ai une application C# qui se lance via un Application.Run(new Form) et j'ai des soucis de fermeture lors des tests en Release.

    L'événement de fermeture de mon formulaire est intercepté de cette manière, volontairement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    private void GestionAppelsForm_FormClosing(object sender, FormClosingEventArgs e)
            {
                CTILOG.writeLog("Closing");
                if (e.CloseReason == CloseReason.UserClosing)
                {
                    e.Cancel = true;
                    this.Hide();
                    CTILOG.writeLog("Closing cache");
                }
                else
                {
                    Logout(); // coupe la connexion à Avaya
                    CTILOG.writeLog("Closing logout");
                }
            }
    Donc si l'utilisateur click sur la croix, j'annule la demande et cache le formulaire.

    j'ai un systray avec un menu :
    - double clic : ouvre le formulaire
    - et un &Quitter doit normalement fermer le formulaire.

    Je voudrais faire propre lorsque l'on clic sur &Quitter dans le menu, si j'appel this.close forcément je repars pour un tour de cache cache avec le formulaire.
    si je mets Application.Exit, j'arrive dans mon point d'entrée de l'application dans laquel j'ai également un application.exit.
    sauf que des fois :
    - tout ce passe bien
    - Le process de l'application est présent dans le task manager (et pas toujours killable) > reboot obligatoire

    Si je veux lancer l'application et que je la detecte lors de mon point d'entrée, j'ai mis un form avec une image indiquant que l'application est déjà en route (mal fermé) mais ce n'est pas la solution

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    const string appName = "Mon App";
                bool createdNew;
                mutex = new Mutex(true, appName, out createdNew);
                if (!createdNew)
                {
                    //app is already running! Exiting the application                 
                    AppOpenForm a = new AppOpenForm();
                    a.ShowDialog();
                    return;
                }
    Comment faire donc propre s'il vous plaît ?
    -----------------------------------------
    à l'origine PHP/Mysql. Pro : Asp.net/Vb/SQL/Webform siteweb

  2. #2
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    233
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2008
    Messages : 233
    Points : 336
    Points
    336
    Par défaut
    Si tu appelles this.Close() tu devrais passer dans ton else de GestionAppelsForm_FormClosing non ? Vu que c'est pas un CloseReason.UserClosing
    Donc pas de cache-cache ?

    Dis-moi (en debug) si je me trompe ?
    "Hope for the best, but prepare for the worst."

Discussions similaires

  1. cas special d'un Switch case en java
    Par wagui26 dans le forum Débuter avec Java
    Réponses: 5
    Dernier message: 21/01/2009, 11h01
  2. [XSLT][JSP] solution technique pour cas typique
    Par Alix_10 dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 04/09/2006, 13h09
  3. [SYBASE] INFO AU CAS OU...
    Par Zeo_BO dans le forum Sybase
    Réponses: 6
    Dernier message: 29/07/2003, 12h44
  4. [corba] débutant : dans quels cas l'utiliser
    Par jmturc dans le forum CORBA
    Réponses: 2
    Dernier message: 10/10/2002, 08h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo