c#跨线程调用控件

可以使用下面两种方法来更新控件

1:使用控件的BeginInvoke来调用

 

  
  
  
  
  1. btnStart.BeginInvoke(new System.EventHandler(UpdateUI));   
  2. public void UpdateUI()  
  3.     {   
  4.         btnStart.Text="Stop";  
  5.     } 

btnStart为控件

UpdateUI是一个方法,在这个方法里执行控件属性的修改

2:使用委托来修改控件

  

  
  
  
  
  1. public  delegate void UpdateUIDelegate(string msg);  
  2. public void UpdateUI(stringmsg)           
  3.   {                  
  4.   //在线程里以安全方式调用控件                
  5.     if(receiveMsg.InvokeRequired)               
  6.         {   
  7.             UpdateUIDelegate _myinvoke =newUpdateUIDelegate(UpdateUI);     
  8.             receiveMsg.Invoke(_myinvoke,newobject[] { msg });                     
  9.         }                  
  10.     else                  
  11.         {    
  12.             receiveMsg.AppendText(msg);  
  13.         }        
  14.   } 

 

你可能感兴趣的:(职场,休闲,c#跨线程修改控件两种方法)