8
votes

C # - Utilisez le formulaire au lieu de MessageBox

Je travaille sur une demande de travail et j'ai besoin d'une boîte de messagerie personnalisée pour apparaître. J'ai créé une forme simple appelée alerte.cs que j'ai stylé la façon dont je veux et ajouté un bouton avec une méthode de clic de ceci.close (). Maintenant, je veux que cela se comporte exactement comme une standard MessageBox.show (). J'ai le formulaire montrant mais quand j'utilise la standard MessageBox.Show ("Texte d'alerte"), il attend de continuer à fonctionner jusqu'à ce que l'utilisateur clique sur "OK", c'est ce que je veux que le formulaire fasse.


0 commentaires

4 Réponses :


12
votes

Utiliser formul.showdialog (); . Cela permet au formulaire d'agir de la même manière qu'un MessageBox dans le sens où il conserve la mise au point jusqu'à fermé.


2 commentaires

IMPRESSIONNANT! Exactement ce que je cherchais. Merci beaucoup!


Juste aimer ajouter. Vous pouvez également définir la propriété de dialogue du formulaire pour correspondre à celle d'une boîte de message.



3
votes

Vous pouvez utiliser un formulaire de fenêtres modal. Quelque chose comme xxx

voir Méthode .Showdialog

montre le formulaire sous forme de boîte de dialogue modale Avec le jeu de fenêtres actuellement actif comme son propriétaire.

Affichage modal et Formulaires Windows indemnes


0 commentaires

0
votes

Vous n'écrivez pas comment vous affichez actuellement votre formulaire d'alerte, mais appelez xxx

au lieu de alerte.show () devrait faire le tour.

Le showdialog qui prend un propriétaire est une alternative encore meilleure: xxx


0 commentaires

6
votes

Vous devrez mettre en place une méthode statique pour votre classe d'alerte si vous souhaitez que le comportement exact de type MessageBox.

Alert.Show("my message");


1 commentaires

Exactement ce que je cherchais! Cela me fait économiser de besoin de créer une variable d'instance temporaire juste pour l'appeler :)