在C#中自动关闭消息框

Boa*_*rdy 11 c# wpf messagebox

我目前正在C#中开发一个应用程序,我在其中显示一个MessageBox.如何在几秒钟后自动关闭消息框?

Gre*_*som 10

您将需要创建自己的Window,代码隐藏包含加载的处理程序和计时器处理程序,如下所示:

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);
}
Run Code Online (Sandbox Code Playgroud)

然后,您可以通过调用ShowDialog()来显示自定义消息框:

MyWindow w = new MyWindow();
w.ShowDialog();
Run Code Online (Sandbox Code Playgroud)