Edit

Share via


DoWorkEventHandler Delegate

Definition

Represents the method that will handle the DoWork event. This class cannot be inherited.

C#
public delegate void DoWorkEventHandler(object sender, DoWorkEventArgs e);
C#
public delegate void DoWorkEventHandler(object? sender, DoWorkEventArgs e);

Parameters

sender
Object

The source of the event.

e
DoWorkEventArgs

A DoWorkEventArgs that contains the event data.

Examples

The following code example demonstrates how to use the DoWorkEventHandler delegate to handle the DoWork event. For a full code listing, see How to: Run an Operation in the Background.

C#
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
    // Do not access the form's BackgroundWorker reference directly.
    // Instead, use the reference provided by the sender parameter.
    BackgroundWorker bw = sender as BackgroundWorker;

    // Extract the argument.
    int arg = (int)e.Argument;

    // Start the time-consuming operation.
    e.Result = TimeConsumingOperation(bw, arg);

    // If the operation was canceled by the user, 
    // set the DoWorkEventArgs.Cancel property to true.
    if (bw.CancellationPending)
    {
        e.Cancel = true;
    }
}

Remarks

When you create a DoWorkEventHandler delegate, you identify the method that will handle the event. To associate the event with your event handler, add an instance of the delegate to the event. The event-handler method is called whenever the event occurs, unless you remove the delegate. For more information about event-handler delegates, see Handling and Raising Events.

Extension Methods

GetMethodInfo(Delegate)

Gets an object that represents the method represented by the specified delegate.

Applies to

Product Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1
UWP 10.0

See also