日期:2014-05-17  浏览次数:21074 次

c# 程序BackGroundWorker 读取返回值问题求助
如题:在同一个类下,想通过使用BackGroundWorker组件后台运行并获取程序的返回值bool类型

 bool tsresult = false;
 private void ts1_DoWork(object sender, DoWorkEventArgs e)
    {
          ts_test();
    }
 private void ts1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
    {
        textBox2.Text = e.Result.ToString();
    }
 .....
 private void button1_Click(object sender, EventArgs e)
        {
                ......
                if (true != ts1.IsBusy)
                {
                    ts1.RunWorkerAsync();
                    .....
                }
          }

        private bool ts_test()
        {
            tsresult = true;
            Thread.Sleep(2000);
            return tsresult;
        }
现想通过:ts1_RunWorkerCompleted中的e.result获取结果,但通过e,result.tostring()提示对象并不存在。请教各位大神可以用什么方法可以解决?  谢谢!


------解决方案--------------------
private void ts1_DoWork(object sender, DoWorkEventArgs e)
{
    e.Result = ts_test();
}