如何打开表单并在一段时间后以编程方式关闭它

时间:2015-11-25 12:24:01

标签: c# winforms

我在表单上有一个按钮,我想使用按钮点击在此表单上打开另一个表单,但是1分钟后必须自动关闭新打开的表单。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

您可以使用以下任一选项:

  • 如果表单仍处于打开状态,您可以使用Task.Delay()并关闭.ContinueWith()中的表单。

  • 或者您可以在第二种形式中使用Timer并将间隔设置为60000毫秒,然后在Tick事件调用中this.Close();

任务示例:

在下面的例子中,5秒钟后我检查表格是否仍然打开,我将其关闭:

private void button1_Click(object sender, EventArgs e)
{
    var f = new Form();

    Task.Delay(5000).ContinueWith((t) =>
    {
        if (f == null || f.Disposing || f.IsDisposed)
            return;

        f.Invoke(new Action(() => { f.Close(); }));
    });

    f.Show();
}