C#用副線程改主線程(UI線程)的控件屬性的方法(包括Winform和WPF)


C#用副線程去試圖修改主線程的UI控件會報出異常,解決方案是使用副線程注冊事件通知主線程自己去修改UI控件

在winform中,方法如下

private void button1_Click(object sender, EventArgs e)
{ Thread myThread = new Thread (new ThreadStart(fun)); myThread.Start(); } private void fun() { textBox1.BeginInvoke(new Action(()=>{textBox1.Text="hello";})); }

 

在WPF中,方法如下

 1 private void button1_Click(object sender, EventArgs e)
 2 {
 3     Thread myThread = new Thread (new ThreadStart(fun));
 4     myThread.Start();
 5 }
 6 
 7 private void fun()
 8 {
 9     TextBox1.Dispatcher.BeginInvoke(new Action(()=>{TextBox1.AppendText("hello");}));        
10 }

 

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM