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 :

Form qui apparaît ou disparaît aléatoirement


Sujet :

C#

  1. #21
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    460
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 460
    Points : 112
    Points
    112

  2. #22
    Membre averti Avatar de _PascalC_
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2008
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Vendée (Pays de la Loire)

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

    Informations forums :
    Inscription : Août 2008
    Messages : 220
    Points : 428
    Points
    428
    Par défaut
    Ce que j'ai surtout vu ce que tu avais finalement 2 instances de NotifyIcon (donc 2 icônes dans le systray !) : celui dans la classe Program et celui dans ton formulaire principal. De plus, si tu retires celui sur le formulaire il faudra retirer le this.Hide() que tu as dans Principale_Resize. Il n'aura aucun intérêt.

    Hormis cela je n'ai pas vu de comportement aléatoire au niveau de l'affichage de la fiche ou du MessageBox.

    J'ai modifié par contre la classe Program afin que lorsque tu clique sur l'icône et que le formulaire est déjà à l'écran ça ne t'en recréé pas un autre.

    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
    21
    22
    23
    24
    [STAThread]
    static void Main()
    {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
     
        using (NotifyIcon nf = new NotifyIcon())
        {
            nf.Icon = Prog_Anniversaire.Properties.Resources.MonIcon;
            nf.Text = "MonApplication";
            nf.DoubleClick += new EventHandler(nf_DoubleClick);
            nf.Visible = true;
            Application.Run();
        }
    }
     
    static void nf_DoubleClick(object sender, EventArgs e)
    {
        if (Application.OpenForms.OfType<Principale>().Count() == 0)
        {
            using (Principale frm = new Principale())
                frm.ShowDialog();
        }
    }

  3. #23
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    460
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 460
    Points : 112
    Points
    112
    Par défaut
    Ben écoute, je sais plus trop quoi dire...
    Je viens encore de tester et quand je ferme une des fenêtres (ajout, suppression, listing ou mise à jour,...), dès fois la fenêtre principale reste à l'écran, dès fois elle se réduit dans la taskbar (et cela aléatoirement)...

    Pour bien comprendre, la fenêtre principale se réduit et le show ne semble avoir aucun effet...

  4. #24
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    460
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 460
    Points : 112
    Points
    112
    Par défaut
    Grande nouveauté !!!

    Je viens de tester sous Windows XP Pro SP3... et magie, le problème n'existe pas !
    Il ne se produit donc que sur mon Windows 7 x64...


    Là, je pige plus rien !

  5. #25
    Membre averti Avatar de _PascalC_
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2008
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Vendée (Pays de la Loire)

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

    Informations forums :
    Inscription : Août 2008
    Messages : 220
    Points : 428
    Points
    428
    Par défaut
    Grande nouveauté moi aussi ! Je croyais que tu ne parlais QUE du formulaire principal et non des autres fiches. Cette fois j'ai réussi à reproduire ton problème (Win7 x64 moi aussi)
    Et je crois avoir trouvé la cause... Quand tu ferme un formulaire tu fais à l'heure actuel "this.Dispose". Essaie avec this.Close() et le problème devrait disparaître (en tout chez moi c'est OK tout le temps)

    Pascal

  6. #26
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    460
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 460
    Points : 112
    Points
    112
    Par défaut
    Citation Envoyé par _PascalC_ Voir le message
    Grande nouveauté moi aussi ! Je croyais que tu ne parlais QUE du formulaire principal et non des autres fiches. Cette fois j'ai réussi à reproduire ton problème (Win7 x64 moi aussi)
    Et je crois avoir trouvé la cause... Quand tu ferme un formulaire tu fais à l'heure actuel "this.Dispose". Essaie avec this.Close() et le problème devrait disparaître (en tout chez moi c'est OK tout le temps)

    Pascal
    Oui mais si je fais close de mes forms, elles restent en mémoire (et les variables sont restituées à leur réouverture), et ça j'y tiens pas en fait !

    Mais sinon, pourquoi ce "bug" sous Windows 7 ?

  7. #27
    Membre averti Avatar de _PascalC_
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2008
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Vendée (Pays de la Loire)

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

    Informations forums :
    Inscription : Août 2008
    Messages : 220
    Points : 428
    Points
    428
    Par défaut
    Plutôt que d'appeler le Dispose dans le formulaire lui même pourquoi ne pas le faire dans la routine qui a servi à le créer ?
    Exemple :

    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
     
    class FormPrincipale
    {
       public void buttonListe_click(....)
       {
          FormListe frm = new FormListe();
          frm.ShowDialog();
          frm.Dispose();
       }
    }
     
    class FormListe 
    {
       public void buttonClose_click(....)
       {
          this.Close();
       }
    }
    Pascal

  8. #28
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    460
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 460
    Points : 112
    Points
    112
    Par défaut
    Ah oui, pas bête ! Je testerai ça demain !


    Edit : Mais en fait non, car ça me le fait aussi avec la méthode lesmessages();
    Donc, c'est pas uniquement au sortir d'une form... mais également d'une messagebox !

Discussions similaires

  1. Mise en forme qui disparaît à la réouverture du fichier
    Par AFO_Liege dans le forum Conception
    Réponses: 0
    Dernier message: 30/01/2012, 10h13
  2. [KSH] Message qui apparaît et disparaît
    Par Rithy666 dans le forum Linux
    Réponses: 10
    Dernier message: 10/05/2010, 21h33
  3. texte qui apparaît/disparaît au clic
    Par marion5515 dans le forum Général JavaScript
    Réponses: 20
    Dernier message: 06/06/2008, 09h57
  4. [html] code qui apparaît souvent
    Par francis m dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 02/06/2005, 00h16
  5. [VB.NET] Authentification Form qui rate.
    Par Abalalojik dans le forum ASP.NET
    Réponses: 4
    Dernier message: 10/01/2005, 13h09

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