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

相关文章
相关标签/搜索