c#让子窗体显示一段时间自动关闭

来源:百度知道 编辑:UC知道 时间:2024/06/17 22:33:39
private void MainForm_Shown(object sender, EventArgs e)
{
ImageForm imageForm = new ImageForm();
imageForm.Show();
Thread.Sleep(1000);
imageForm.Close();
}
但是没有用,有Thread.Sleep(1000);甚至都看不到我的子窗体有显示出来过。

弄个Timer控件试试

不要用Sleep.用定时器Timer

可以用委托

给你一个我的例子
//定义委托
public delegate void CloseAlertFrm();
public void CloseAlert()
{
if (this.InvokeRequired)
{
CloseAlertFrm ca = new CloseAlertFrm(CloseAlert);
this.Invoke(ca);
}
else
{
this.Close();
this.Dispose();
}
}

private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
Thread.Sleep(2000);
CloseAlert();
}

我用到了backgroudWorker, 在这个窗体加载的时候让这个BackGroudWorker开始工作,然后用Thread.sleep(时间秒数)计时,到时间自动执行委托。
希望能帮到你

你可以在那个子窗体上放个时间控件,在时间控件中来实现自动关闭