C#如何终止application.run()

Mor*_*duc 0 c#

我想知道,如何使用例如转义键终止程序.一般来说,我必须做什么来在application.run(..)之后停止它?

我怎么能插入这个

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

在下面的代码中

static void Main()
    {

        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);
         }
Run Code Online (Sandbox Code Playgroud)

}

Cod*_*ray 6

调用Application.Exit()方法.

Exit方法停止所有线程上的所有正在运行的消息循环,并关闭应用程序的所有窗口.此方法不一定强制应用程序退出.Exit通常从消息循环中调用该方法,并强制Run返回.要仅退出当前线程的消息循环,请调用ExitThread.

Exit 引发以下事件并执行相关的条件操作:

  • FormClosing为该OpenForms属性表示的每个表单引发一个事件.可以通过将其FormClosingEventArgs参数的Cancel属性设置为true 来取消此事件.

  • 如果其中一个处理程序取消了该事件,则Exit无需进一步操作即返回.否则,FormClosed将为每个打开的表单引发一个事件,然后关闭所有正在运行的消息循环和表单.

要在Esc按下该键时执行此操作,您可能希望处理表单的KeyUp事件:

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