zoukankan      html  css  js  c++  java
  • 多线程之进度条

    建立一个公用的进度条控件,每次加载较慢的时候使用以改进用户体验。

    通过启用新线程的方式来进行调用。

    步骤如下:

    1. 建立一个单独的窗体,包含一个进度条控件
      • 设置进度条的Style为ProgressBarStyle.Marquee
      • 增加一属性(LoadCompleted)标示加载是否完成
    2. 在其它窗体中通过开启新线程进行调用
    View Code
     1  public partial class UcLoadData_ShowMarqueeProcess : UserControl
     2     {
     3         public static FrmMarqueeProcess xf;
     4         public static event EventHandler onLoadFinished;
     5 
     6         public UcLoadData_ShowMarqueeProcess()
     7         {
     8             InitializeComponent();
     9         }
    10 
    11         private void btnFill_Click(object sender, EventArgs e)
    12         {
    13             int iEnd = 10000;
    14             Thread t = new Thread(new ThreadStart(ShowProcess));
    15             t.Start();
    16 
    17             for (int i = 0; i < iEnd; i++)
    18             {
    19                 string strContent = string.Format("this is the {0}th record", i);
    20                 this.lstContent.Items.Add(strContent);
    21             }
    22 
    23             onLoadFinished += new EventHandler(LoadFinish);
    24             if (onLoadFinished != null)
    25                 onLoadFinished.Invoke(sender, e);
    26 
    27             while (!xf.LoadCompleted)
    28                 Application.DoEvents();
    29 
    30             t.Abort();
    31         }
    32         private static void ShowProcess()
    33         {
    34             xf = new FrmMarqueeProcess();
    35             xf.ShowDialog();
    36         }
    37 
    38         private static void LoadFinish(object sender, EventArgs e)
    39         {
    40             xf.LoadCompleted = true;
    41         }
    42     }

        3. 运行结果如下

  • 相关阅读:
    evernote100个做笔记的好方法
    平衡二叉树的调整模版
    晨间日记的奇迹
    hdu 2952 Counting Sheep
    hdu 1535 Invitation Cards
    poj 3259 Wormholes(spfa)
    poj 2263 Heavy Cargo(floyd)
    poj 3268 Silver Cow Party(SPFA)
    hdu 1690 Bus System
    hdu 3631 Shortest Path(Floyd)
  • 原文地址:https://www.cnblogs.com/markhe/p/3068094.html
Copyright © 2011-2022 走看看