zoukankan      html  css  js  c++  java
  • 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
    
  • 相关阅读:
    文件传输协议FTP
    过河问题 还是不会 去学请教一下 数学老师 -----
    ----堆栈 STL 函数库 ----有待补充
    UVa 101
    例题 5-1 STL
    课后题 3-3 水题
    第八届河南省省赛 A.挑战密室
    课后题--------求分子量-----Molar mass------
    课后题3-1
    ---------快排-----表排-----基数排序(桶排序)-----
  • 原文地址:https://www.cnblogs.com/LcVong/p/15460106.html
Copyright © 2011-2022 走看看