我希望backgroundworker将一些自定义信息发送回ProgressChanged事件处理程序,但它似乎只能发送一个int。
有解决方法吗?
由于
答案 0 :(得分:3)
使用UserState
参数。
答案 1 :(得分:2)
ReportProgress有一个重载方法,它接受一个UserState对象,该对象可以是任何对象。您可以传递继承对象类的任何内容,然后在ProgressChanged事件处理程序上解析它。
http://msdn.microsoft.com/en-us/library/system.windows.forms.toolstripprogressbar.aspx
答案 2 :(得分:0)
我成功的另一种方法是使用一些额外的属性构建我自己的Background Worker类。在后台工作者“DOWORK”处理程序中,正如我正在做的事情,我在对象上设置了其他属性... int,string,其他对象等。然后,以我正在处理的任何百分比发出ReportProgress。 ..
由于后台工作程序被传递给正在侦听反馈的任何内容,因此您可以通过“get / set”
读取后台工作程序上的属性值。