你的位置:首页 > ASP.net教程

[ASP.net教程]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 }