日期:2014-05-18  浏览次数:20817 次

BackGroudWorker控件的问题!
BackGroudWorker控件DoWork这个事件不能操作界面?测试的时候在调试的时候如果操作界面会报错出来,但是如果是直接实行exe文件则不会报错,这是问什么哦?

------解决方案--------------------
DoWork是在另一线程里执行,所以不能直接访问界面元素.可通过异步实现对界面控件的访问:

C# code

private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
        {
            //....
            BeginInvoke(new MethodInvoker(Test));
        }


private void Test()
        {
            //访问界面控件...
        }