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 :

Form visible après double clique sur NotifyIcon


Sujet :

Windows Forms

  1. #1
    Membre confirmé Avatar de getz85
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2008
    Messages
    423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2008
    Messages : 423
    Points : 462
    Points
    462
    Par défaut Form visible après double clique sur NotifyIcon
    Bonjour!

    mon problème est tout simple (la solution doit l'être tout autant, mais je trouve pas ).

    J'ai une fenetre qui se réduit dans la zone de notification grâce à un NotifyIcon.

    Lorsque je double clique sur l'icone, je veux que la form s'affiche et soit active.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    this.Show();
    this.Activate();
    this.BringToFront();
    Le problème c'est que ma form apparait dans la barre des taches, est bien active, mais elle ne s'affiche pas...Il faut que je clique sur la barre des tâches pour qu'elle s'affiche...

    Merci d'avance

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Citation Envoyé par Suffocation Voir le message
    Le problème c'est que ma form apparait dans la barre des taches, est bien active, mais elle ne s'affiche pas...Il faut que je clique sur la barre des tâches pour qu'elle s'affiche...
    Ca doit être parce qu'elle est minimisée... ceci devrait faire l'affaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    this.WindowState = FormWindowState.Normal;
    this.Show();
    Ou encore mieux : enregistrer le WindowState lors de la réduction de la fenêtre, de façon à pouvoir la restaurer dans le même état

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    614
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 614
    Points : 299
    Points
    299
    Par défaut
    ceci devrait t'aider :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     private void notifyIcon1_MouseDoubleClick_1(object sender, MouseEventArgs e)
        {
            this.WindowState = FormWindowState.Normal;
            this.Show();
        }
    et met la propriete de ta form topmost a true

  4. #4
    Membre confirmé Avatar de getz85
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2008
    Messages
    423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2008
    Messages : 423
    Points : 462
    Points
    462
    Par défaut
    Merci tomlev et skunkies.

    Même en mettant le WindowState à normal, la fenêtre ne s'affiche pas.
    J'ai également essayé avec la propriété TopMost à true, ça ne fonctionne pas...

  5. #5
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    ben c'est bizarre ton histoire... j'ai très souvent utilisé ça et normalement ça marche sans problème

  6. #6
    Membre confirmé Avatar de getz85
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2008
    Messages
    423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2008
    Messages : 423
    Points : 462
    Points
    462
    Par défaut
    J'ai remarqué un truc en fait...

    Quand je ferme l'appli (avec la croix) et que je double clique sur l'icone du NotifyIcon, ça marche.
    Mais c'est quand je réduis que ça ne marche plus. Ca doit venir du code que j'utilise pour intercepter la réduction. Mais je n'ai pas trouvé d'autre moyen de le faire.

    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
    17
    18
    19
    20
     
     
    //Permet d'intercepter la réduction de la fenêtre
     private void Form1_SizeChanged(object sender, EventArgs e)
            {
                if (this.WindowState == FormWindowState.Minimized)
                {
                    this.Hide();
                }
            }
     
     
    //double click sur le NotifyIcon
     private void Tray_MouseDoubleClick(object sender, MouseEventArgs e)
            {
                this.WindowState = FormWindowState.Normal;
                this.Show();
                this.Activate();
                this.BringToFront();           
            }

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    614
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 614
    Points : 299
    Points
    299
    Par défaut
    ajoute peut etre ceci au debut du double click ...

  8. #8
    Membre confirmé Avatar de getz85
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2008
    Messages
    423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2008
    Messages : 423
    Points : 462
    Points
    462
    Par défaut
    Citation Envoyé par skunkies Voir le message
    ajoute peut etre ceci au debut du double click ...

    ha merci ça marche!

    J'avais déjà essayé avant mais pas depuis que j'avais rajouté
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.WindowState = FormWindowState.Normal;


    Résolu, merci beaucoup!

  9. #9
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    614
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 614
    Points : 299
    Points
    299
    Par défaut
    Heureux pour toi !

  10. #10
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Citation Envoyé par skunkies Voir le message
    ajoute peut etre ceci au debut du double click ...
    Bizarre que ça marche, vu que c'est exactement équivalent à appeler Show... d'ailleurs voici le code de la méthode Show (selon Reflector) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public void Show()
    {
        this.Visible = true;
    }
    En fait je pense qu'il fallait juste faire le Show AVANT de changer le WindowState

  11. #11
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    614
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 614
    Points : 299
    Points
    299
    Par défaut
    oui je pense aussi tu as raison Tomlev.
    Petite question sur Reflector (que je viens de telecharger en lisant ton post)
    Je ne trouve pas la methode Show ....
    Elle est bien sous System.Win.Forms???

  12. #12
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Citation Envoyé par skunkies Voir le message
    Je ne trouve pas la methode Show ....
    Elle est bien sous System.Win.Forms???
    Elle est définie dans la classe Control, pas dans Form. Par défaut Reflector n'affiche pas les membres hérités, pour ne pas afficher des centaines de méthodes dans chaque classe (mais tu peux changer ça dans les options)

  13. #13
    Membre confirmé Avatar de getz85
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2008
    Messages
    423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2008
    Messages : 423
    Points : 462
    Points
    462
    Par défaut
    Citation Envoyé par tomlev Voir le message
    En fait je pense qu'il fallait juste faire le Show AVANT de changer le WindowState
    Je confirme.

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

Discussions similaires

  1. Ouvrir une form a partir dun double clique sur datagrid
    Par moonshine972 dans le forum Windows Presentation Foundation
    Réponses: 20
    Dernier message: 21/04/2011, 11h58
  2. Réponses: 21
    Dernier message: 01/09/2010, 20h40
  3. Problème de double clique sur barre de titre d'une form
    Par kheldoun ahmed dans le forum Delphi
    Réponses: 10
    Dernier message: 26/06/2007, 16h21
  4. Evenement double clique sur jTable
    Par oOoOuuhmAn dans le forum Composants
    Réponses: 20
    Dernier message: 08/03/2006, 12h05
  5. [VB]Double clique sur liste...
    Par STRUFIELD dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 23/01/2006, 13h43

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