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
    
  • 相关阅读:
    670. Maximum Swap
    653. Two Sum IV
    639. Decode Ways II
    636. Exclusive Time of Functions
    621. Task Scheduler
    572. Subtree of Another Tree
    554. Brick Wall
    543. Diameter of Binary Tree
    535. Encode and Decode TinyURL
    博客园自定义背景图片
  • 原文地址:https://www.cnblogs.com/LcVong/p/15460106.html
Copyright © 2011-2022 走看看