Process.OnExited Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Genera l'evento Exited.
protected:
void OnExited();
protected void OnExited();
member this.OnExited : unit -> unit
Protected Sub OnExited ()
Esempio
Nell'esempio seguente viene illustrato come usare il OnExited metodo in una classe derivata.
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
Commenti
OnExited è il metodo API che genera l'evento Exited . La chiamata OnExited fa sì che l'evento Exited si verifichi ed è l'unico modo per generare l'evento usando il Process componente. OnExited viene utilizzato principalmente durante la derivazione di classi dal componente.
In alternativa a OnExited, è possibile scrivere un gestore eventi personalizzato. Si crea il proprio delegato del gestore eventi e il proprio metodo di gestione degli eventi.
Note
Se si usa l'ambiente Visual Studio, viene creato automaticamente un delegato del gestore eventi (AddOnExited) e un metodo di gestione degli eventi (Process1_Exited) quando si trascina un componente Process in una maschera e si fa doppio clic sull'icona. Il codice creato per l'esecuzione quando si verifica l'evento Exited viene immesso nella routine Process1_Exited. Non è necessario creare il OnExited membro perché viene implementato automaticamente.
La generazione di un evento richiama il gestore eventi tramite un delegato. Per una panoramica, vedere Gestione e generazione di eventi.