Application.Exit 方法

定义

通知所有消息泵必须终止,并且在处理了消息以后关闭所有应用程序窗口。

重载

Exit()

通知所有消息泵必须终止,并且在处理了消息以后关闭所有应用程序窗口。

Exit(CancelEventArgs)

通知所有消息泵必须终止,并且在处理了消息以后关闭所有应用程序窗口。

Exit()

通知所有消息泵必须终止,并且在处理了消息以后关闭所有应用程序窗口。

public:
 static void Exit();
public static void Exit ();
static member Exit : unit -> unit
Public Shared Sub Exit ()

示例

下面的代码示例列出窗体上列表框中的数字。 每次单击 button1时,应用程序都会向列表中添加另一个数字。

方法 Main 调用 Run 以启动应用程序,这将创建窗体 listBox1、 和 button1。 当用户单击 button1时, 方法将 button1_Click 数字 1 到 3 添加到列表框中,并显示 MessageBox。 如果用户在 上MessageBox单击“否”,该方法会将button1_Click另一个数字添加到列表中。 如果用户单击“ ”,应用程序将调用 Exit,以处理队列中的所有剩余消息,然后退出。

该示例要求 listBox1 将 和 button1 实例化并放置在窗体上。

public:
   static void main()
   {
      // Starts the application.
      Application::Run( gcnew Form1 );
   }

private:
   void button1_Click( Object^ sender, System::EventArgs^ e )
   {
      // Populates a list box with three numbers.
      int i = 3;
      for ( int j = 1; j <= i; j++ )
      {
         listBox1->Items->Add( j );
      }
      
      /* Determines whether the user wants to exit the application.
       * If not, adds another number to the list box. */
      while ( MessageBox::Show( "Exit application?", "",
         MessageBoxButtons::YesNo ) == ::DialogResult::No )
      {
         // Increments the counter ands add the number to the list box.
         i++;
         listBox1->Items->Add( i );
      }
      
      // The user wants to exit the application. Close everything down.
      Application::Exit();
   }
public static void Main(string[] args) {
    // Starts the application.
    Application.Run(new Form1());
 }

 private void button1_Click(object sender, System.EventArgs e) {
    // Populates a list box with three numbers.
    int i = 3;
    for(int j=1; j<=i; j++) {
       listBox1.Items.Add(j);
    }

    /* Determines whether the user wants to exit the application.
     * If not, adds another number to the list box. */
    while (MessageBox.Show("Exit application?", "", MessageBoxButtons.YesNo) ==
       DialogResult.No) {
       // Increments the counter ands add the number to the list box.
       i++;
       listBox1.Items.Add(i);
    }

    // The user wants to exit the application. Close everything down.
    Application.Exit();
 }
<STAThread()> _
Shared Sub Main() 	
   ' Starts the application.
   Application.Run(New Form1())
End Sub

Private Sub button1_Click(sender As object, e As System.EventArgs)
   ' Populates a list box with three numbers.
   Dim i As Integer = 3
   Dim j As Integer
   For j = 1 To i - 1
      listBox1.Items.Add(j)
   Next

   ' Checks to see whether the user wants to exit the application.
   ' If not, adds another number to the list box.
   While (MessageBox.Show("Exit application?", "", MessageBoxButtons.YesNo) = _ 
      DialogResult.No)
      ' Increments the counter and adds the number to the list box.
      i = i + 1
      listBox1.Items.Add(i)
   End While

   ' The user wants to exit the application. Close everything down.
   Application.Exit()
End Sub

注解

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

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

  • 对于 属性表示OpenForms的每个窗体,都会引发 一个 FormClosing 事件。 可以通过将其FormClosingEventArgs参数的 属性设置为 Canceltrue来取消此事件。

  • 如果多个处理程序中的一个取消事件,则 Exit 返回 而不执行进一步操作。 否则,将为每个打开的窗体引发事件 FormClosed ,然后关闭所有正在运行的消息循环和窗体。

注意

方法Exit不会引发 ClosedClosing 事件,这些事件自 .NET Framework 2.0 起已过时。

另请参阅

适用于

Exit(CancelEventArgs)

通知所有消息泵必须终止,并且在处理了消息以后关闭所有应用程序窗口。

public:
 static void Exit(System::ComponentModel::CancelEventArgs ^ e);
public static void Exit (System.ComponentModel.CancelEventArgs e);
public static void Exit (System.ComponentModel.CancelEventArgs? e);
static member Exit : System.ComponentModel.CancelEventArgs -> unit
Public Shared Sub Exit (e As CancelEventArgs)

参数

e
CancelEventArgs

返回应用程序中的任何 Form 是否已取消退出。

另请参阅

适用于