Export (0) Print
Expand All
Expand Minimize

MethodInvoker Delegate

Represents a delegate that can execute any method in managed code that is declared void and takes no parameters.

Namespace:  System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)

public delegate void MethodInvoker()

MethodInvoker provides a simple delegate that is used to invoke a method with a void parameter list. This delegate can be used when making calls to a control's Invoke method, or when you need a simple delegate but do not want to define one yourself.

The following code example demonstrates how to use a MethodInvoker to call a method that updates the title bar of the application form.

public partial class Form1 : Form
    public Form1()
        // Create a timer that will call the ShowTime method every second. 
        var timer = new System.Threading.Timer(ShowTime, null, 0, 1000);           

    private void ShowTime(object x)
        // Don't do anything if the form's handle hasn't been created  
        // or the form has been disposed. 
        if (!this.IsHandleCreated && !this.IsDisposed) return;

        // Invoke an anonymous method on the thread of the form. 
        this.Invoke((MethodInvoker) delegate
            // Show the current time in the form's title bar. 
            this.Text = DateTime.Now.ToLongTimeString();
The following code example demonstrates how to use the MethodInvoker delegate to synchronize a call to a control's thread.

.NET Framework

Supported in: 4.5.3, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

© 2014 Microsoft