Programación WPF, un método para actualizar dinámicamente la barra de progreso durante la ejecución.

 La barra de progreso se opera en el subproceso de la interfaz de usuario. Si necesita mostrar el progreso a través de la barra de progreso cuando procesa programas de múltiples subprocesos que consumen mucho tiempo, debe usar este método, es decir, operar el control a través de un subproceso que no sea de la interfaz de usuario .

//方法一   
 private void ProgressBegin()
        {

            Thread thread = new Thread(new ThreadStart(() =>
            {
                for (int i = 0; i <= 100; i++)
                {
                    this.Dispatcher.BeginInvoke((ThreadStart)delegate { this.progressBar1.Value = i; }); //progressBar1是进度条控件的名字。
                    Thread.Sleep(100);
                }

            }));
            thread.Start();
        }
		
//方法二	
		
		
 private delegate void UpdateProgressBarDelegate(System.Windows.DependencyProperty dp, Object value); 
     
private void beginImport()  
{  
   radProgressBar1.Maximum = 1000;
   radProgressBar1.Value = 0;

   UpdateProgressBarDelegate updatePbDelegate = new UpdateProgressBarDelegate(radProgressBar1.SetValue);  
  
 for (int i = 0; i < 1000; i++)  
 {  
    Dispatcher.Invoke(updatePbDelegate, System.Windows.Threading.DispatcherPriority.Background, new object[] { System.Windows.Controls.ProgressBar.ValueProperty,Convert.ToDouble( i + 1) });  
 }  
}


    //ProgressBar 可写成:ProgressBarEdit
	//Convert.ToDouble( i + 1)  可写成:value 

 

Supongo que te gusta

Origin blog.csdn.net/qq_43307934/article/details/89208470
Recomendado
Clasificación