Thread t = new Thread(new ThreadStart(getthred));
                t.Start();    void getthred()
        {
            if (prb1 .InvokeRequired )
            {
                Updateprb update = new Updateprb(changeprb);
                prb1.BeginInvoke(update);            }          
           
        }   public delegate void Updateprb();        void changeprb()
        {
            for (int i = 0; i < 50000; i++)
            {
                prb1.Value = i;
            }
        }好象没有异步执行,别的都不能操作,怎么搞的?

解决方案 »

  1.   

     void getthred() 
            { 
                    Updateprb update = new Updateprb(changeprb); 
                    prb1.BeginInvoke(update);     
              
            } 
            void changeprb() 
            { 
     if (prb1 .InvokeRequired ) {            for (int i = 0; i < 50000; i++) 
                { 
                    prb1.Value = i; 
                } 
    }
            }