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

C# Discussion :

Application avec Systray


Sujet :

C#

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2013
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2013
    Messages : 86
    Points : 56
    Points
    56
    Par défaut Application avec Systray
    Bonjour,

    je fais un soft qui a pour but de fonctionner en tache de fond et , qui est présent dans le systray.
    Comment faire en sorte que lorsque je ferme la fenetre de mon application avec la croix rouge, celle ci ne se ferme pas, mais se réduise dans le systray ?

    Merci d'avance

  2. #2
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2008
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2008
    Messages : 381
    Points : 766
    Points
    766
    Par défaut
    Quand j'ai besoin du systray en WPF, j'utilises ce composant : WPF NotifyIcon.

    Sinon en général ce n'est pas vraiment compliqué. Une simple recherche avec "c# systray" sur un moteur de recherche va te sortir plein d'exemples.
    Les fautes d'orthographes sus-citées sont déposées auprès de leurs propriétaires respectifs. Aucune responsabilité n'est engagée sur la lisibilité du message ou les éventuels dommages qu'il peut engendrer.

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2013
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2013
    Messages : 86
    Points : 56
    Points
    56
    Par défaut
    Bah j'ai ajouter un NotifyIcon + ContextMenu , mais quand je ferme la fenetre de mon soft, cela ferme l'application , m'enlève l'icone dans le systray mais le process tourne toujours dans le gestionnaire de tache( wtf ?) .

  4. #4
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2008
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2008
    Messages : 381
    Points : 766
    Points
    766
    Par défaut
    Si l'application est encore présente dans le gestionnaire des tâches c'est qu'elle n'est pas fermée. Ta fenêtre qui contient le Notifyicon est peut-être détruite, mais il semble rester quelque chose d'actif.
    Les fautes d'orthographes sus-citées sont déposées auprès de leurs propriétaires respectifs. Aucune responsabilité n'est engagée sur la lisibilité du message ou les éventuels dommages qu'il peut engendrer.

  5. #5
    Membre chevronné
    Avatar de PixelJuice
    Homme Profil pro
    Ingénieur .NET & Game Designer
    Inscrit en
    Janvier 2014
    Messages
    639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur .NET & Game Designer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2014
    Messages : 639
    Points : 2 148
    Points
    2 148
    Par défaut
    Bonjour,

    utilise l’événement FormClosing de ta Form :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
            private void Form_FormClosing(object sender, FormClosingEventArgs e)
            {
                e.Cancel = true; // On annule la fermeture
                // Ici réduit ta form , etc
            }

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    L'idée de Romain est à priori la bonne solution... Je dis bien "à priori" car il y a un cas où ça va coincer : lorsque l'on veut réellement fermer la fenêtre pour de bon avec un appel à "Close()", cela va passer dans le "OnClosing" et donc ne pas réellement fermer la fenêtre.

    Il lui manque juste un tout petit quelque-chose : un booléen privé qui indique si on veut réellement fermer la fenêtre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    bool _fermetureFenetreRequis = false;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    //Quand on veut réellement fermer la fenêtre
    _fermetureFenetreRequis = true;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    private void Form_FormClosing(object sender, FormClosingEventArgs e)
    {
         if (_fermetureFenetreRequis)
         {
             e.Cancel=false;
             return;
         }
         e.Cancel = true; // On annule la fermeture
         // Ici réduit ta form , etc
    }

    @Romain : ce n'est pas moi qui ais mis le pouce rouge.

  7. #7
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2013
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2013
    Messages : 86
    Points : 56
    Points
    56
    Par défaut
    Parfait j' ai retenu vos solutions, cela fonctionne parfaitement!
    Merci beaucoup
    ( Le pouce rouge ne vient pas de moi non plus )

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. application en systray avec GTK
    Par jamfr73 dans le forum GTK+ avec C & C++
    Réponses: 2
    Dernier message: 09/01/2007, 18h28
  2. [Kylix] Portage application avec les compos Apros
    Par cedricgirard dans le forum EDI
    Réponses: 1
    Dernier message: 21/10/2004, 16h40
  3. Réponses: 10
    Dernier message: 30/06/2004, 13h00
  4. Conseils pour developper une application avec Oracle
    Par belugha dans le forum Langages de programmation
    Réponses: 5
    Dernier message: 02/06/2003, 16h03
  5. [VB6]Fermer une application avec VB
    Par Mylou dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 04/04/2003, 21h32

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