L'application est compilée pour .NET 2.0 (si c'est pertinent). Initialement, le formulaire est créé avec ShowInTaskbar = false, il n'apparaît pas dans la barre des tâches et tout est cool. Cependant, lorsque certaines actions (faire glisser le fichier sur le formulaire et démarrer le téléchargement du fichier) font ShowInTaskbar = true (afin de montrer la progression avec la modification de la fenêtre title/win7), le formulaire principal disparaît. this.Show(), this.Visible = true - ils ne vous aident pas. Le formulaire est introuvable jusqu'à ce que ShowInTaskbar = false soit exécuté. Puis il apparaît au même endroit où il a disparu ... Des idées de ce qui pourrait arriver?ShowInTaskbar = true fait disparaître mon formulaire
Répondre
Il fonctionne pour moi:
using System.Windows.Forms;
class Test
{
static void Main()
{
Form form = new Form();
Button button = new Button { Text = "Toggle" };
button.Click += delegate { form.ShowInTaskbar = !form.ShowInTaskbar; };
form.Controls.Add(button);
Application.Run(form);
}
}
Certes, il scintille lorsque vous appuyez sur, mais cela ne devrait pas être trop importante. Avez-vous des événements qui pourraient être déclenchés dans le cadre du changement, ce qui pourrait masquer votre formulaire?
demain malade essayer de mettre en place un test de cas, voir si je pouvais reproduire le comportement. – marrat
Votre application est-elle occupée entre ShowInTaskBar = true et ... = false?
Votre application peut être invitée à répondre aux messages et à redessiner sa fenêtre, donc si elle est occupée et ne retourne pas le contrôle à la boucle de traitement, elle ne répondra pas (et donc mettra à jour l'écran) tu as fini de tout faire. Si tel est le cas, vous devrez peut-être déclencher votre traitement sur un Windows.Forms.Timer ou même utiliser un autre thread (BackgroundWorker ou ThreadPool) pour permettre à votre interface utilisateur de continuer à répondre pendant que vous effectuez votre traitement.
il traite les événements très bien. quand il est fait apparaître dans la progression du téléchargement de la barre des tâches, il est affiché correctement. – marrat
Je sais que cette question a été posée il y a plus d'un an, mais elle apparaît encore de temps en temps dans les résultats de recherche google. Comme indiqué lors de la définition de ShowInTaskbar, les fenêtres recrée la totalité du formulaire (ou quelque chose comme ça). Donc, si vous avez des champs de saisie ou des contrôles comme ça, ils seront réinitialisés. Dans mon cas, j'ai utilisé ShowInTaskbar = false lorsque je veux réduire mon application à la zone de notification, de sorte que mon application n'apparaisse plus dans la barre des tâches lorsqu'elle est réduite. Le problème survient lorsque vous restaurez l'application à FormWindowState.Normal tous les contrôles que vous aviez précédemment sont réinitialisés.
Le travail consiste à supprimer tous les contrôles "this.Controls.Remove (control1)" du formulaire avant d'appeler ShowInTaskbar = false, puis de rajouter "this.Controls.Add (control1)" une fois le formulaire est restauré.
C'est mon travail. Espérons que cela vous aide et aide les autres.
Merci pour l'indice. – Oliver
J'avais un problème avec un panneau qui disparaissait lorsque je définissais le "ShowInTaskbar" à false. Puis, quand j'essayais de revenir à la réalité, le panneau manquait toujours. Ça me rendait fou comme tous les autres contrôles étaient bien, sauf le panneau. Il a montré "activé", "visible" tout vrai, l'emplacement et la taille étaient les mêmes avant et après que "ShowInTaskbar" a été défini. Je suis tombé sur ce post et c'est ce qui a fonctionné pour moi. J'espère que ça aide les autres. Fondamentalement, je supprime et ajoute comme déjà indiqué ici dans les réponses. Je veux juste remercier tout le monde pour m'avoir aidé à fournir une solution.
- 1. Pourquoi ce code fait-il disparaître mon formulaire?
- 2. Ajout d'un ScrollPane fait mon JTextArea disparaître
- 3. L'animation jQuery fait disparaître l'élément
- 4. Pourquoi un formulaire de contact fait-il disparaître mon pied de page?
- 5. Redimensionner un GLJPanel avec JOGL fait disparaître mon modèle
- 6. TextView wrap fait disparaître ImageView adjacente
- 7. RotateCTM fait disparaître les graphiques, Quartz 2D
- 8. canvas.move de tkinter fait disparaître l'objet
- 9. infobulle jQuery fait disparaître le titre href
- 10. L'utilisation de layout_weight fait disparaître les widgets?
- 11. jQuery Bounce fait disparaître les boutons CSS
- 12. C# WPF - Icône d'application + ShowInTaskbar = False
- 13. Pourquoi l'audio de l'iPod ne retombe-t-elle pas après que mon application l'a fait disparaître?
- 14. invoquant l'état sélectionné sur le bouton fait disparaître le texte
- 15. if (true) {"@ Ajax.BeginForm {"} .. if (true) {"}"} - Comment débuter le formulaire
- 16. javascript faire disparaître formulaire lorsque soumettre?
- 17. MVC Sitemap Provider - DynamicNodeProvider fait disparaître les fils d'Ariane
- 18. Formulaire de connexion disparaître une fois connecté
- 19. Le thème de couleur d'Emacs fait disparaître le mini-tampon?
- 20. La sélection de tabBarItem fait disparaître le titre
- 21. La marge de réglage de TextView le fait disparaître
- 22. Custom add_action ('save_post') fait disparaître le balisage HTML!
- 23. débordement: masqué fait disparaître les données dans IE
- 24. L'utilisation de HttpUtility.UrlEncode() fait disparaître l'espace de noms de l'assembly?
- 25. <script> La balise fait disparaître le contenu HTML
- 26. JCarousel et Cufon ne coopèrent pas: l'animation fait disparaître cufon
- 27. UITableView: vue tableau défilement des images fait disparaître
- 28. Le nœud enfant désattribué fait disparaître la méthode
- 29. TinyMCE - l'appui sur la touche fait disparaître la barre d'outils
- 30. Retrait UITextField de superview ne fait pas disparaître à l'écran
Modifier ShowInTaskbar a de gros effets secondaires, Winforms doit recréer la fenêtre. Un bug est que le formulaire disparaît de Application.OpenForms. Jamais entendu parler de devenir invisible cependant. Regardez la fenêtre de sortie pour les exceptions possibles. –