2011-06-24 4 views
3

UIのBackgroundWorkerからProgressBarまで進捗状況を表示したいとします。私が理解していないのは、ProgressBarが進行のためにdoubleの値を取ることができるときにBackgroundWorkerReportProgress関数がInt32を取る理由です。私のプロセスは非常に複雑で、小数点の進捗状況を更新する必要があります。私はすべてを最も近い整数に調整しなければならない場合、それは役に立ちません。誰かが私はこれを回避することができますsomewayを提案することはできますか?C#BackgroundWorker ReportProgress Int32?

+0

これはInt32ですが、これも0..100(%)の範囲に制限されています。しかし、これはユーザーの「解決」を目指しており、十分であるはずです。 –

答えて

4

ProgressChangedEventArgs Classは、オプションでUserStateの値をとることができます。あなたはこれに何かを渡すことができます(例えば二重の値を含む)。

public void ReportProgress(
    int percentProgress, 
    Object userState 
) 

は、単にあなたの doubleとしてuserStateオブジェクトを渡す: ReportProgress method

+0

素晴らしい!..ありがとう! – Aks

2

ReportProgressでそれを設定することも、それは追加のパラメータとしてオブジェクトを取り第二の変形例があります。

補足:プログレスバーのピクセル数が多いため、それらをすべて列挙するにはdoubleが必要ですか?

+0

ありがとうございます。サイドノート:ああ...興味深い...私はそれについて考える必要があります.. – Aks

関連する問題