C#BackgroundWorker ReportProgress Int32?

时间:2011-06-24 06:46:22

标签: c#

我想在UI中显示从BackgroundWorkerProgressBar的进度。我不明白的是,BackgroundWorker的{​​{1}}函数在ReportProgress可以取Int32进度值ProgressBar时采用double的原因。我的过程非常复杂,我需要进行十进制进度更新。如果我必须将所有内容调整到最接近的整数,它没有任何帮助。任何人都可以建议我可以解决这个问题吗?

2 个答案:

答案 0 :(得分:4)

ProgressChangedEventArgs Class可以采用可选的UserState值。您可以将任何想要的内容传递给此(包括例如双值)。使用ReportProgress method

进行设置

答案 1 :(得分:2)

ReportProgress还有第二个变体,它将一个对象作为附加参数:

public void ReportProgress(
    int percentProgress,
    Object userState
)

只需将double作为userState对象传递。

旁注:你确定你的进度条有这么多像素需要double来枚举它们吗?