This documentation is archived and is not being maintained.

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.

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

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

.NET Framework

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