我想在UI中显示从BackgroundWorker
到ProgressBar
的进度。我不明白的是,BackgroundWorker
的{{1}}函数在ReportProgress
可以取Int32
进度值ProgressBar
时采用double
的原因。我的过程非常复杂,我需要进行十进制进度更新。如果我必须将所有内容调整到最接近的整数,它没有任何帮助。任何人都可以建议我可以解决这个问题吗?
答案 0 :(得分:4)
ProgressChangedEventArgs Class可以采用可选的UserState
值。您可以将任何想要的内容传递给此(包括例如双值)。使用ReportProgress method
答案 1 :(得分:2)
ReportProgress还有第二个变体,它将一个对象作为附加参数:
public void ReportProgress(
int percentProgress,
Object userState
)
只需将double
作为userState对象传递。
旁注:你确定你的进度条有这么多像素需要double
来枚举它们吗?