Winform 進度條

#region 顯示進度條
        //全局參數定義以下
        //private Form_ProcessBar progressForm = null;
        //// 代理定義,能夠在Invoke時傳入相應的參數
        //private delegate void funHandle(int nValue);
        //private funHandle myHandle = null;
        //調用以下:
        //Thread thread = new Thread(new ThreadStart(ThreadFun));
        //thread.Start();
        /// <summary>
        /// 線程函數中調用的函數
        /// </summary>
        private void ShowProgressBar()
        {
            progressForm = new Form_ProcessBar();
            myHandle = new funHandle(progressForm.SetProgressValue);
            progressForm.ShowDialog();
        }函數

        /// <summary>
        /// 線程函數,用於處理調用
        /// </summary>
        private void ThreadFun()
        {
            MethodInvoker mi = new MethodInvoker(ShowProgressBar);
            this.BeginInvoke(mi);
            Thread.Sleep(1000); // sleep to show window
            for (int i = 0; i < 1000; ++i)
            {
                Thread.Sleep(5);
                // 這裏直接調用代理
                this.Invoke(this.myHandle, new object[] { (i / 5) });
            }
        }
        #endregionthis

 

 

進度條窗體代碼以下線程

一、在窗體中拖拽或手動定義一個進度條,以及label代理

二、在後臺代碼中粘貼以下代碼orm

 public void SetProgressValue(int value)
        {
            PB_Main.Value = value;
            L_OperateProcess.Text = "操做進度 :" + value.ToString() + "%";
            if (value == this.PB_Main.Maximum - 1)
            {
                this.Close();
            }
        }io

相關文章
相關標籤/搜索