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

本文关键字:编程 方式关 一段时间 何打开 窗体 | 更新日期: 2023-09-27 18:24:34

我在一个表单上有一个按钮,我想用按钮点击在这个表单上打开另一个表单,但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();
}