Control.EndInvoke(IAsyncResult) Method

Definition

Retrieves the return value of the asynchronous operation represented by the IAsyncResult passed.

public:
 virtual System::Object ^ EndInvoke(IAsyncResult ^ asyncResult);
public object EndInvoke (IAsyncResult asyncResult);
public object? EndInvoke (IAsyncResult asyncResult);
abstract member EndInvoke : IAsyncResult -> obj
override this.EndInvoke : IAsyncResult -> obj
Public Function EndInvoke (asyncResult As IAsyncResult) As Object

Parameters

asyncResult
IAsyncResult

The IAsyncResult that represents a specific invoke asynchronous operation, returned when calling BeginInvoke(Delegate).

Returns

The Object generated by the asynchronous operation.

Implements

Exceptions

The asyncResult parameter value is null.

The asyncResult object was not created by a preceding call of the BeginInvoke(Delegate) method from the same control.

Remarks

If the asynchronous operation has not been completed, this function will block until the result is available.

Note

In addition to the InvokeRequired property, there are four methods on a control that are thread safe: Invoke, BeginInvoke, EndInvoke, and CreateGraphics if the handle for the control has already been created. Calling CreateGraphics before the control's handle has been created on a background thread can cause illegal cross thread calls. For all other method calls, you should use one of the invoke methods to marshal the call to the control's thread.

Applies to

See also