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

     public class ZyjProgressBar : System.Windows.Forms.ProgressBar
        {
            //用于跨线程访问控件的委托
            private delegate void deleByControl(int v);
    
            //用于执行的任务
            public Action Task { get; set; }
            private Thread taskThread;
            private deleByControl setValueDele;
    
    
            public ZyjProgressBar()
            {
                //初始化线程
                this.taskThread = new Thread(StartTask);
                this.taskThread.IsBackground = true;
                //初始化委托
                this.setValueDele = new deleByControl(AddValue);
    
            }
    
            private void StartTask() {
                this.Task();
            }
    
            /// <summary>
            /// 增加进度条的进度
            /// </summary>
            public void AddValue(int value)
            {
                if (this.InvokeRequired)
                {
                    this.Invoke(this.setValueDele, 3);
                }
                else
                {
                    this.Value += value;
                }
            }
        }
    致读者:感谢你阅读本文,请随手点击右下角的推荐或分享,谢谢!
  • 相关阅读:
    NOIP提高组2004 合并果子题解
    RMQ问题之ST算法
    7.18考试
    7.18
    7.17
    7.16
    7.15
    7.14
    7.13考试
    7.13
  • 原文地址:https://www.cnblogs.com/yzeng/p/3891272.html
Copyright © 2011-2022 走看看