次の方法で共有


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 は、 イベントを発生させる API メソッドです Exited 。 をExited呼び出OnExitedすと、イベントが発生し、 コンポーネントを使用してイベントを発生させる唯一のProcess方法です。 OnExited は、主に コンポーネントからクラスを派生させる場合に使用されます。

OnExited代わりに、独自のイベント ハンドラーを記述できます。 独自のイベント ハンドラー デリゲートと独自のイベント処理メソッドを作成します。

注意

Visual Studio 環境を使用している場合は、コンポーネントをフォームにドラッグ Process してアイコンをダブルクリックすると、イベント ハンドラー デリゲート (AddOnExited) とイベント処理メソッド (Process1_Exited) が自動的に作成されます。 イベントが発生したときに実行するコードを Exited 、Process1_Exited プロシージャに入力します。 メンバーは実装されているため、作成 OnExited する必要はありません。

イベントを発生させると、イベント ハンドラーがデリゲートから呼び出されます。 概要については、「イベントの処理と発生」を参照してください。

適用対象

こちらもご覧ください