Fermer automatiquement messagebox en C#
je suis en train de développer une application en C# où j'affiche un MessageBox. Comment puis-je fermer automatiquement la boîte de message après quelques secondes?
2 réponses
vous devrez créer votre propre fenêtre, avec le code-behind contenant un gestionnaire chargé et un gestionnaire de minuterie comme suit:
private void Window_Loaded(object sender, RoutedEventArgs e)
{
Timer t = new Timer();
t.Interval = 3000;
t.Elapsed += new ElapsedEventHandler(t_Elapsed);
t.Start();
}
void t_Elapsed(object sender, ElapsedEventArgs e)
{
this.Dispatcher.Invoke(new Action(()=>
{
this.Close();
}),null);
}
vous pouvez alors faire apparaître votre boîte de message personnalisée en appelant ShowDialog ():
MyWindow w = new MyWindow();
w.ShowDialog();
Le Système.Windows.MessageBox.La méthode Show () a une surcharge qui prend une fenêtre propriétaire comme premier paramètre. Si nous créons une fenêtre de propriétaire invisible que nous fermons après un temps spécifié, la boîte de message de l'enfant se fermerait aussi.
Voici la réponse complète: https://stackoverflow.com/a/20098381/2190520