C#欢迎画面显示程序启动进度条,并自动打开主界面
一、前言:
最近想实现 一个延时启动的程序,如果只是纯粹的延时等待,会给用户造成程序卡死的假象,所以需要一个可以动的欢迎画面。效果如下图所示:
二、创建欢迎界面:
1.新建 一个WF界面,并且设置为软件的启动项。
2.将界面的边框去掉。
3.设置背景色为白色。
三、后端实现:
具体实现代码如下:软件界面加载时先启动后台线程进行延时操作,并实时显示到进度条上,待进度条完成后(也就是线程结束)程序会自动响应线程结束事件(注意这个响应事件是主线程上的,所以操作控件界面等等都不影响),从而进行主界面启动。
#region =======加载主窗体=======
private void F_Loading_Shown(object sender, EventArgs e)
{
using (BackgroundWorker bw = new BackgroundWorker())
{
bw.RunWorkerCompleted += new RunWorkerCompletedEventHandler(bw_RunWorkerCompleted);//开始的事件
bw.DoWork += new DoWorkEventHandler(bw_DoWork);//完成的事件
bw.RunWorkerAsync("Tank");
}
}
void bw_DoWork(object sender, DoWorkEventArgs e)// 这里是后台线程
{
for (int i = 0; i < 100; i++)
{
Thread.Sleep(100);//延时
this.progressBar1.Value = i;
this.labAA.Text = i.ToString() + "%";
}
}
void bw_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)//后台线程完成后的响应事件
{
C_Global_variable.main = new Main();
C_Global_variable.main.Show();
}
#endregion