Comment spécifier l'icône que MessageBox
doit utiliser dans la barre des tâches? Il n'y a pas de surcharge MessageBox.Show
qui me permet de sélectionner une icône de la barre des tâches, seulement une icône à utiliser dans le formulaire actuel.Spécifier l'icône de la barre des tâches pour un MessageBox
Répondre
Je ne pense pas qu'il soit possible de changer l'icône de la barre des tâches; votre seule option serait de créer votre propre MessageBox.
Réponse courte: Vous ne pouvez pas.
Réponse courte # 2: Vous devez créer votre propre formulaire et l'afficher manuellement.
Pour pouvoir afficher une icône pour un MessageBox
à barre des tâches, j'ai trouvé un moyen d'éviter la création de formulaire personnalisé, mais en quelque sorte, nous allons créer une forme fictive (ou vous pouvez le changer en forme anonyme):
using (Form dummy = new Form() {
Icon = Properties.Resources.ico_Main_Logo
, TopMost = true
, FormBorderStyle = System.Windows.Forms.FormBorderStyle.None
, Size = new System.Drawing.Size(0,0)
, BackColor = Color.White
, TransparencyKey = Color.White
})
{
dummy.Show();
MessageBox.Show(dummy, "This is a MessageBox with Icon at Taskbar and on top of all windows", "Title Text", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
Avec bien au-dessus, ces fonctionnalités utiles seront possibles:
- Afficher l'icône pour
MessageBox
à la barre des tâches. (J'utilise le paramètre d'application pour charger une icône, vous pouvez le faire à partir du disque ou ...) - Afficher
MessageBox
Afficher en haut des autres fenêtres. (Si vous ne le voulez pas, réglezTopMost = false
) - Ne pas afficher
MessageBox
Icône dans la barre des tâches. (Il suffit de parapher un simple formulaire à l'utilisation et de supprimer la lignedummy.Show();
.)
Ou tout simplement initial sous forme anonyme comme celui-ci pour cacher MessageBox
Icône de la barre des tâches:
MessageBox.Show(new Form(), "This is a MessageBox Hide it from Taskbar", "Title Text", MessageBoxButtons.OK, MessageBoxIcon.Information);
Quoi qu'il en soit, je veux juste partager mon nouveau fonde donc ça peut aider les autres aussi. Je vous remercie.
Cela fonctionne bien, Mais je ne sais pas pourquoi même quand je mis Size
du formulaire pour (0, 0)
-il encore une taille de 131x37 !!! Mais comme le formulaire est défini en tant que transparence, il ne sera pas visible et le pointeur de la souris cliquera.
- 1. Barre de progression de la barre de tâches dans la barre des tâches de Windows 7
- 2. Briser la barre des tâches
- 3. Barre d'outils de barre des tâches en C# pour win7
- 4. Icônes de la barre des tâches manquantes
- 5. Cacher l'application de la barre des tâches
- 6. Emplacement de la barre des tâches
- 7. Progression de la barre des tâches
- 8. API de la barre des tâches Windows
- 9. notification/barre des tâches
- 10. Arrêter la barre des tâches clignotante
- 11. Supprimer un JFrame de la barre des tâches dans Java
- 12. Barre des tâches Windows 7
- 13. Intégrer dans la barre des tâches
- 14. Maximisation une fenêtre personnalisée pour inclure la barre des tâches
- 15. Comment faire un clic droit sur la barre des tâches
- 16. Lancement des applications de la barre des tâches avec AutoHotKey
- 17. Comment cacher un JFrame dans la barre système de la barre des tâches
- 18. Raccourci pour l'ouverture de Windows 7 barre des tâches jumplist
- 19. Comment trouver la hauteur de la barre des tâches?
- 20. Suppression de Jumplist de la barre des tâches?
- 21. Masquer la fenêtre de la barre des tâches MS Windows
- 22. Création de votre propre barre des tâches
- 23. Définition de l'image d'arrière-plan d'une barre des tâches?
- 24. Comment définir l'icône de groupement de la barre des tâches
- 25. Supprimer l'application de la barre des tâches avec C# wrapper?
- 26. Comment fonctionne l'AutoHide de la barre des tâches (par programmation)
- 27. AIR: fait clignoter l'élément de la barre des tâches?
- 28. VB.NET - Barre des tâches Windows Progrès de la DLL incorporée?
- 29. Clignotement dans la barre des tâches avec changement de couleur
- 30. Etat par défaut de l'icône de la barre des tâches
Pourquoi avez-vous un 'MessageBox' apparaître sur la barre des tâches de toute façon? La seule façon qui peut arriver est si vous ne lui attribuez pas un parent. –
Depuis ce sont les plugins qui affichent les boîtes de message et ils n'ont pas accès au formulaire principal. – jgauffin
Peut-être que vous ne devriez pas permettre/attendre que vos plugins affichent l'interface utilisateur par eux-mêmes. Fournissez-leur une référence à une interface (telle que IMessageBox) sur laquelle ils peuvent s'appeler. Que vous, en tant qu'application hôte, pouvez fournir une implémentation correcte (y compris parent, etc.). –