C#欢迎画面显示程序启动进度条,并自动打开主界面

Posted LcVong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

以上是关于C#欢迎画面显示程序启动进度条,并自动打开主界面的主要内容,如果未能解决你的问题,请参考以下文章

Ubuntu 16.04在启动和关机时不显示启动和关机画面且显示详细的命令信息,没有进度条和Logo,或者只有紫色界面,或者没有开机画面等问题解决

C# 耗时的程序 界面卡死,如何做一个缓冲界面,例如有个圆圈在旋转的效果展示

qt 如何显示动态开机画面

动画性能优化-requestanimationframeGPU等

腾讯视频进度条显示一半

VB.NET显示程序的进度,该怎么做?