自定義通用WinForm進度條ITSProgramBar


一、運行效果:

有圖有真相,大家先睹為快。

 

二、開發需求:

1、WinForm下使用的進度條用戶控件。

2、調用位置,用戶不需要自己寫多線程處理代碼來控制UI顯示和后台業務執行。

3、代碼通用,開發者可以在其他窗體通過“傳入參數”和“調用函數”來實現“進度條顯示”。

4、進度條接受后台處理函數和界面刷新函數作為“傳入參數”。

5、進度條接受用戶后台業務代碼中發送到“進度顯示消息”和“終止進度消息”。

6、進度條接受異步刷新主窗體界面UI和進度條UI界面UI,並且這個過程顯示是准確一致的。

 

三、接口定義

1、主要字段

View Code
/// <summary>
        /// 后台業務處理的函數接口
        /// </summary>
        public Func<object, object> DoWork_Func = null;

        /// <summary>
        /// 后台業務處理的函數接口參數
        /// </summary>
        public object DoWork_FuncParam = null;

        /// <summary>
        /// 前台界面刷新的函數接口
        /// </summary>
        // public Action UIShow_Func = null;
        public Action<object> UIShow_Func = null;

 

2、進度控制

View Code
        /// <summary>
        /// 啟動進度條
        /// </summary>
        public void StartRun()
 
        /// <summary>
        /// 暫停進度條
        /// </summary>
        public void PauseRun()
 
        /// <summary>
        /// 終止進度條
        /// </summary>
        public void StopRun()
 
        /// <summary>
        /// 接收外部發送的“執行進度的消息”
        /// </summary>
        /// <param name="percent"></param>
        /// <param name="msg"></param>
        public void SendRunMsg(int percent, string msg)
         
        /// <summary>
        /// 接收外部發送的“終止進度的消息”
        /// </summary>
        /// <param name="msg"></param>
        public void SendStopMsg(string msg)
   
        /// <summary>
        /// 進度條是否終止
        /// </summary>
        /// <returns></returns>
        public bool IsStop()
 

 

3、修改樣式

View Code
        /// <summary>
        /// 設置進度條標題
        /// </summary>
        /// <param name="title"></param>
        public void SetTitle(string title)
     
        /// <summary>
        /// 設置進度條狀態顯示前台顏色
        /// </summary>
        /// <returns></returns>
        public void SetForeColor(int alpha, int red, int green, int blue)
         
        /// <summary>
        /// 設置進度條狀態顯示背景顏色
        /// </summary>
        /// <returns></returns> 
        public void SetBackColor(int red, int green, int blue)
        

 

4、前台調用

View Code
        private void Start_Click(object sender, EventArgs e)
        {
            MyBar.SetTitle("任務執行進度如下顯示"); // 設置進度條標題
            MyBar.SetForeColor(0, 173, 208, 3); // 設置進度條前台顏色
            MyBar.SetBackColor(255, 255, 255); // 設置進度條背景顏色
            MyBar.DoWork_Func = this.DoWork; // 指定進度條后台業務處理函數
            MyBar.DoWork_FuncParam = 10000 * 1; // 指定進度條后台業務處理函數的入口參數
            MyBar.UIShow_Func = this.UIShow; // 指定進度條前台UI界面顯示函數
            MyBar.StartRun(); // 啟動進度條
        }

        private void Stop_Click(object sender, EventArgs e)
        {
            if (MyBar != null)
            {
                MyBar.StopRun(); // 終止進度條
            }
        }

 

 

四、使用說明

該進度條使用的時候,只需要把dll文件引入其他WinForm專案即可。

剩下的工作,就是在主界面的后台進行參數初始化和調用接口方法,就可以了。

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM