2011-06-07 70 views
0

我想知道,如何終止一個程序使用,例如,轉義鍵。 一般來說,我必須做些什麼才能在application.run(..)之後停止它?C#如何終止application.run()

我怎樣才能插入此

私人無效myForm_KeyUp(對象發件人,System.Windows.Forms.KeyEventArgs E){ 如果(e.KeyCode == Keys.Escape){ Application.Exit(); }下面

靜態無效的主要代碼 } () {

 using (WinForm new_form = new WinForm()) 
     { 
      new_form.InitializeComponent(); 
      new_form.SetStyle(ControlStyles.AllPaintingInWmPaint | ControlStyles.Opaque, true); 
      new_form.InitializeDevice(); 
      new_form.LoadSurfaces(); 
      new_form.Set3D(); 
      Application.Run(new_form); 
     } 

}

+0

就目前而言,這個答案太寬泛無法回答 - 你可以把你的問題編輯成更具體的東西嗎? – 2011-06-07 14:07:49

+0

如果我不「清楚」,我很抱歉。我想說的是,在調用application.run()之後,我想用Cody Gray建議的方法(使用轉義鍵)結束它。所以我試圖問我如何在我發佈的代碼部分插入/調用/使用它。謝謝 – Morduc 2011-06-07 15:53:02

回答

5

調用Application.Exit()方法。

Exit方法停止所有線程上正在運行的消息循環,並關閉應用程序的所有窗口。此方法不一定強制應用程序退出。該方法Exit通常從一個消息循環中調用,並Run返回。要僅退出當前線程的消息循環,請致電ExitThread

Exit引發以下的事件和執行相關聯的條件操作:

  • FormClosing事件引發由OpenForms屬性所代表的每一形式。通過將其FormClosingEventArgs參數的取消屬性設置爲true,可以取消該事件。

  • 如果更多的處理器的一個取消事件,那麼Exit回報沒有進一步的行動。否則,將爲每個打開的表單引發一個FormClosed事件,然後關閉所有正在運行的消息循環和表單。

要按下Esc鍵關鍵當做到這一點,你可能要處理的KeyUp event爲表單:

private void myForm_KeyUp(object sender, System.Windows.Forms.KeyEventArgs e) 
{ 
    if (e.KeyCode == Keys.Escape) 
    { 
     Application.Exit(); 
    } 
} 
0

只需撥打Application.Exit()或關閉所有活性形式。例如。您可以簡單地將Close();添加到表單中的KeyDown事件處理程序中。