Process.OnExited 方法

定义

引发 Exited 事件。

C#
protected void OnExited ();

示例

以下示例演示如何在派生类中使用 OnExited 方法。

C#
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.");
    }
}

注解

OnExited 是引发 Exited 事件的 API 方法。 调用 OnExited 会导致 Exited 事件发生,并且是使用 组件引发事件的唯一 Process 方法。 OnExited 主要在从 组件派生类时使用。

作为 的 OnExited替代方法,可以编写自己的事件处理程序。 创建自己的事件处理程序委托和自己的事件处理方法。

备注

如果使用 Visual Studio 环境,则会在将组件拖动 Process 到窗体上并双击图标时,创建事件处理程序委托 (AddOnExited) 和事件处理方法 (Process1_Exited) 。 在Process1_Exited过程中输入所创建的代码,用于在事件发生时 Exited 运行。 无需创建 OnExited 成员,因为它是为你实现的。

引发事件时,将通过委托调用事件处理程序。 有关概述,请参阅 处理和引发事件

适用于

产品 版本
.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

另请参阅