Click here to Skip to main content
15,922,315 members
Home / Discussions / C#
   

C#

 
GeneralRe: Report Progress from a class with a backgroundWorker Pin
DaveyM6914-Feb-11 11:24
professionalDaveyM6914-Feb-11 11:24 
Ian Shlasko wrote:
I wonder if the BackgroundWorker only allows ReportProgress to be called during the DoWork


No, internally it uses a SendOrPostCallback delegate and an AsyncOperation. If the AsyncOperation is null (there is no active worker thread) then the delegate is called directly. If it's not null then the AsyncOperation's Post method is called with the delegate and args as parameters which automatically invokes it on the syncronization context that RunWorkerAsync existed in.

C#
public void ReportProgress(int percentProgress, object userState)
{
    if (!this.WorkerReportsProgress)
    {
        throw new InvalidOperationException(SR.GetString("BackgroundWorker_WorkerDoesntReportProgress"));
    }
    ProgressChangedEventArgs arg = new ProgressChangedEventArgs(percentProgress, userState);
    if (this.asyncOperation != null)
    {
        this.asyncOperation.Post(this.progressReporter, arg);
    }
    else
    {
        this.progressReporter(arg);
    }
}

Dave

Binging is like googling, it just feels dirtier.
Please take your VB.NET out of our nice case sensitive forum.
Astonish us. Be exceptional. (Pete O'Hanlon)

BTW, in software, hope and pray is not a viable strategy. (Luc Pattyn)



QuestionSet a picture transparently in the foreground Pin
Mschauder14-Feb-11 2:21
Mschauder14-Feb-11 2:21 
AnswerRe: Set a picture transparently in the foreground Pin
musefan14-Feb-11 3:03
musefan14-Feb-11 3:03 
GeneralRe: Set a picture transparently in the foreground Pin
Mschauder14-Feb-11 3:15
Mschauder14-Feb-11 3:15 
GeneralRe: Set a picture transparently in the foreground Pin
musefan14-Feb-11 3:42
musefan14-Feb-11 3:42 
GeneralRe: Set a picture transparently in the foreground Pin
Mschauder14-Feb-11 22:08
Mschauder14-Feb-11 22:08 
Questiondirectory path Pin
arkiboys13-Feb-11 22:12
arkiboys13-Feb-11 22:12 
AnswerRe: directory path Pin
Pete O'Hanlon13-Feb-11 22:17
mvePete O'Hanlon13-Feb-11 22:17 
GeneralRe: directory path Pin
arkiboys13-Feb-11 22:23
arkiboys13-Feb-11 22:23 
GeneralRe: directory path Pin
Pete O'Hanlon13-Feb-11 22:45
mvePete O'Hanlon13-Feb-11 22:45 
GeneralRe: directory path Pin
arkiboys13-Feb-11 23:22
arkiboys13-Feb-11 23:22 
AnswerRe: directory path Pin
Dalek Dave14-Feb-11 0:14
professionalDalek Dave14-Feb-11 0:14 
AnswerRe: directory path Pin
GenJerDan14-Feb-11 0:29
GenJerDan14-Feb-11 0:29 
GeneralRe: directory path Pin
Pete O'Hanlon14-Feb-11 0:34
mvePete O'Hanlon14-Feb-11 0:34 
AnswerRe: directory path Pin
Luc Pattyn14-Feb-11 1:01
sitebuilderLuc Pattyn14-Feb-11 1:01 
AnswerRe: directory path Pin
PIEBALDconsult14-Feb-11 2:00
mvePIEBALDconsult14-Feb-11 2:00 
QuestionCon open wait Pin
Ajay Kale New13-Feb-11 22:01
Ajay Kale New13-Feb-11 22:01 
AnswerRe: Con open wait Pin
Pete O'Hanlon13-Feb-11 22:13
mvePete O'Hanlon13-Feb-11 22:13 
AnswerRe: Con open wait Pin
Luc Pattyn14-Feb-11 0:52
sitebuilderLuc Pattyn14-Feb-11 0:52 
AnswerRe: Con open wait Pin
PIEBALDconsult14-Feb-11 1:42
mvePIEBALDconsult14-Feb-11 1:42 
QuestionUsing DotNetNuke in c# Pin
sarang_k13-Feb-11 20:08
sarang_k13-Feb-11 20:08 
AnswerRe: Using DotNetNuke in c# Pin
Richard MacCutchan13-Feb-11 22:35
mveRichard MacCutchan13-Feb-11 22:35 
Questionprogress bar while switching to new page Pin
Mugdha_Aditya13-Feb-11 18:26
Mugdha_Aditya13-Feb-11 18:26 
AnswerRe: progress bar while switching to new page Pin
Richard MacCutchan13-Feb-11 22:34
mveRichard MacCutchan13-Feb-11 22:34 
QuestionPolyLib Modifying the ToString method Pin
Ryano12113-Feb-11 5:03
Ryano12113-Feb-11 5:03 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.