Voici le zip : http://www.sendspace.com/file/3dg7wp
Voici le zip : http://www.sendspace.com/file/3dg7wp
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(); } }
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...
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 !
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
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 :
Pascal
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(); } }
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 !
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager