churrros
Messages postés19Date d'inscriptionmardi 26 juin 2007StatutMembreDernière intervention 9 avril 2008
-
19 juil. 2007 à 14:33
churrros
Messages postés19Date d'inscriptionmardi 26 juin 2007StatutMembreDernière intervention 9 avril 2008
-
23 juil. 2007 à 21:01
Bonjour,
Lorsque j'ouvre une Form2 depuis une Form1 je procède ainsi :
Form2 InstanceForm2 = new Form2();
InstanceForm2.ShowDialog();
Donc je créé une instance que j'affiche ensuite.
Lorsque j'ouvre le gestionnaire des tâches je constate que j'ai une tâche par fenêtre (ou instance), ce qui me déplaît légèrement. Comment dois-je faire pour que toute les fenêtres ouvertes à partir d'une instance "Main" appartiennent à la même tâche? Pourquoi ces tâches ne prennnent-elles pas le nom de mon fichier compilé en exe?
cs_Yxion
Messages postés219Date d'inscriptionjeudi 6 juillet 2006StatutMembreDernière intervention 7 septembre 2009 20 juil. 2007 à 17:18
Tu n'as bien qu'un seul process.
Par compte, tu as plusieurs fenetres actives.
Pour ne plus voir les fenetres que tu ouvres dans la liste, indique ShowInTaskbar à false.
Resultat, ta fenetre ouverte n'apparait plus dans la barre des taches Windows, et donc plus dans la liste des taches.
ShareVB
Messages postés2676Date d'inscriptionvendredi 28 juin 2002StatutMembreDernière intervention13 janvier 201626 21 juil. 2007 à 21:53
salut,
il ne faut pas confondre "thread", "fenêtre" et "processus"...la liste des taches est, en gros, la liste des fenêtres de la barre des taches...à ne pas confondre avec la liste des processus...un processus peut avoir plusieurs fenêtres...le stathread ne chanegera rien...
mais je ne vois pas pourquoi tu aurais besoin de n'afficher qu'une seule fenêtre par processus dans la liste des tâches...à la limite si tu fais des boites de dialogues modales mais is tu as vraiment plusieurs fenêtres, elles apparaitront dans la liste des tâches...
churrros
Messages postés19Date d'inscriptionmardi 26 juin 2007StatutMembreDernière intervention 9 avril 2008 19 juil. 2007 à 18:37
Vu le nombre de réponse je commence à douter de la clarté de ma question, alors je la repose en deux fois :
Pourquoi lorsque je lance mon appli avec :
fenetre1 InstanceFenetre1 = new fenetre1();
Application.Run(InstanceFenetre1);
c'est le nom de la fenêtre qui apparaît dans la liste des tâches et pas le nom de mon application?
Et pourquoi lorsque j'affiche d'autres fenêtres avec :
fenetre2 InstanceFenetre2 = new fenetre2();
InstanceFenetre2.ShowDialog();
elle apparaissent dans la liste des tâches comme si c'était des appli indépendante?
Je précise que je travaille sous WinCE 5.0 et que je n'ai pas de "[STAThread]" devant ma méthode "Main". Est-ce que ça a quelquechose à voir?
Je ne peux pas utiliser non plus "Application.Run();" je suis obligé de lancer au moins une fenêtre.
Merci d'avance pour les réponses, et si je n'en ai pas merci de m'en donner la raison...
churrros
Messages postés19Date d'inscriptionmardi 26 juin 2007StatutMembreDernière intervention 9 avril 2008 23 juil. 2007 à 21:01
J'ai cerné mon erreur. J'ai mal observé : la liste des tâches comme son nom l'indique affiche la liste des fenêtres actives et non pas la liste des processus. Les tâches ne prennent donc pas le nom de l'exécutable de mon appli mais le nom des fenêtres.
Je ne cherchais pas à avoir une fenêtre par processus mais une tâche pour toute mes fenêtres. Donc, à moins de créer une fenêtre unique bourré de champs à afficher ou cacher selon mes besoins y'a pas moyen. J'aurais autant de tâches dans la liste que de fenêtres ouvertes, mais qui ne correspondront qu'à un seul processus bien sur.