Process.OnExited Method

Definition

Raises the Exited event.

protected void OnExited ();

Examples

The following example shows how to use the OnExited method in a derived class.

using System;
using System.Diagnostics;

class MyProcess : Process
{
    public void Stop()
    {
        this.CloseMainWindow();
        this.Close();
        OnExited();
    }
}
class StartNotePad
{

    public static void Main(string[] args)
    {
        MyProcess p = new MyProcess();
        p.StartInfo.FileName = "notepad.exe";
        p.EnableRaisingEvents = true;
        p.Exited += new EventHandler(myProcess_HasExited);
        p.Start();
        p.WaitForInputIdle();
        p.Stop();
    }
    private static void myProcess_HasExited(object sender, System.EventArgs e)
    {
        Console.WriteLine("Process has exited.");
    }
}

Remarks

OnExited is the API method that raises the Exited event. Calling OnExited causes the Exited event to occur and is the only way to raise the event using the Process component. OnExited is primarily used when deriving classes from the component.

As an alternative to OnExited, you can write your own event handler. You create your own event handler delegate and your own event-handling method.

Note

If you are using the Visual Studio environment, an event handler delegate (AddOnExited) and an event-handling method (Process1_Exited) are created for you when you drag a Process component onto a form and double-click the icon. The code you create to run when the Exited event occurs is entered into the Process1_Exited procedure. You do not need to create the OnExited member, because it is implemented for you.

Raising an event invokes the event handler through a delegate. For an overview, see Handling and Raising Events.

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 1.1, 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

See also