有时候我们需要弹出个提示框然后让它自己关闭,然而实际使用中的弹出框确实阻塞进程,网上貌似有一种另类的解决方式,大致思路是把弹出框放到另外的一个窗体上,直接贴代码
主窗体
using System;
using System.Windows.Forms;
namespace WinForm
{
public partial class MainForm : Form
{
public MainForm()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
//延迟800毫秒关闭的信息框
MessageBox.Show(new DelayCloseForm(800), "执行成功!");
}
}
}
起到延迟作用的窗体
using System;
using System.ComponentModel;
using System.Windows.Forms;
namespace WinForm
{
public partial class DelayCloseForm : Form
{
public DelayCloseForm(int interval = 500)
{
InitializeComponent();
//计时器
this.components = new Container();
Timer timer1 = new Timer(this.components);
timer1.Enabled = true;
timer1.Interval = interval;
timer1.Tick += timer1_Tick;
timer1.Start();
}
private void timer1_Tick(object sender, EventArgs e)
{
this.Close();
}
}
}
转载于:https://www.cnblogs.com/luludongxu/p/8856956.html