Process.OnExited 方法

定义

引发 Exited 事件。

protected:
 void OnExited();
protected void OnExited ();
member this.OnExited : unit -> unit
Protected Sub OnExited ()

示例

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

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.");
    }
}
Imports System.Diagnostics


Class MyProcess
    Inherits Process
    
    Public Sub [Stop]() 
        Me.CloseMainWindow()
        Me.Close()
        OnExited()
    
    End Sub
End Class

Class StartNotePad
    
    
    Public Shared Sub Main(ByVal args() As String) 
        Dim p As New MyProcess()
        p.StartInfo.FileName = "notepad.exe"
        p.EnableRaisingEvents = True
        AddHandler p.Exited, AddressOf myProcess_HasExited
        p.Start()
        p.WaitForInputIdle()
        p.Stop()
    
    End Sub
    
    Private Shared Sub myProcess_HasExited(ByVal sender As Object, ByVal e As System.EventArgs) 
        Console.WriteLine("Process has exited.")
    
    End Sub
End Class

注解

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

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

注意

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

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

适用于

另请参阅