Process.OnExited Yöntem

Tanım

Olayı tetikler Exited .

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

Örnekler

Aşağıdaki örnekte, yönteminin OnExited türetilmiş bir sınıfta nasıl kullanılacağı gösterilmektedir.

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

type MyProcess() =
    inherit Process()

    member this.Stop() =
        this.CloseMainWindow() |> ignore
        this.Close()
        this.OnExited()

let myProcess_HasExited (sender: obj) (e: EventArgs) = printfn "Process has exited."

let p = new MyProcess()
p.StartInfo.FileName <- "notepad.exe"
p.EnableRaisingEvents <- true
p.Exited.AddHandler(EventHandler myProcess_HasExited)
p.Start() |> ignore
p.WaitForInputIdle() |> ignore
p.Stop()
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

Açıklamalar

OnExited , olayı oluşturan API yöntemidir Exited . Çağırma OnExited , Exited olayın gerçekleşmesine neden olur ve bileşeni kullanarak Process olayı tetiklemeyi tek yoldur. OnExited öncelikle bileşenden sınıf türetilirken kullanılır.

alternatif olarak OnExited, kendi olay işleyicinizi yazabilirsiniz. Kendi olay işleyici temsilcinizi ve kendi olay işleme yönteminizi oluşturursunuz.

Note

Visual Studio ortamını kullanıyorsanız, bir Process bileşenini forma sürüklediğinizde ve simgeye çift tıkladığınızda sizin için bir olay işleyici temsilcisi (AddOnExited) ve olay işleme yöntemi (Process1_Exited) oluşturulur. Olay gerçekleştiğinde Exited çalıştırmak için oluşturduğunuz kod Process1_Exited yordamına girilir. Üyeyi OnExited oluşturmanız gerekmez, çünkü sizin için uygulanır.

Olay oluşturmak, bir temsilci aracılığıyla olay işleyicisini çağırır. Genel bakış için bkz. Olayları İşleme ve Oluşturma.

Şunlara uygulanır

Ayrıca bkz.