2014-03-03 50 views
1

我正在编写一个简单的POC Windows应用程序,其中按钮单击事件 - 我使用后台工作人员DoWork方法更新UI的文本。我的理解是Backgroundworker自动完成同步,因此我不应该有任何问题。但我想更新UI时收到错误UI中的BackgroundWorker和更新控件

private void button1_Click(object sender, EventArgs e) 
    { 
     bw.DoWork += bw_DoWork; 
     bw.RunWorkerAsync(); 
    } 

    void bw_DoWork(object sender, DoWorkEventArgs e) 
    { 
     textBox1.Text = "Hello"; 
    } 

错误:enter image description here

+0

你什么样的错误执行?一个InvokationException? – Turbofant

+0

添加屏幕截图 – Patrick

+0

如果在UI线程中完成了所有工作,那么使用BGW的意义何在? – Servy

回答

3

同步在ProgressChangedRunWorkerCompleted处理程序自动只是做。

DoWork处理程序中的代码是在非UI线程

+0

啊非常intresting - 让我更新RunWorkerCompleted方法中的用户界面,然后看看。感谢这一分钟的细节 – Patrick

+0

@帕特里克欢迎 – Alberto

+0

是的 - 只是尝试过。有用。将接受你的答案 – Patrick

相关问题