Application.Exit Метод

Определение

Сообщает всем средствам переноса сообщений, что они должны завершить работу, а затем закрывает все окна приложения после обработки сообщений.Informs all message pumps that they must terminate, and then closes all application windows after the messages have been processed.

Перегрузки

Exit()

Сообщает всем средствам переноса сообщений, что они должны завершить работу, а затем закрывает все окна приложения после обработки сообщений.Informs all message pumps that they must terminate, and then closes all application windows after the messages have been processed.

Exit(CancelEventArgs)

Сообщает всем средствам переноса сообщений, что они должны завершить работу, а затем закрывает все окна приложения после обработки сообщений.Informs all message pumps that they must terminate, and then closes all application windows after the messages have been processed.

Exit()

Сообщает всем средствам переноса сообщений, что они должны завершить работу, а затем закрывает все окна приложения после обработки сообщений.Informs all message pumps that they must terminate, and then closes all application windows after the messages have been processed.

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

Примеры

В следующем примере кода показаны числа из списка в форме.The following code example lists numbers in a list box on a form. Каждый раз при нажатии button1приложение добавляет еще один номер в список.Each time you click button1, the application adds another number to the list.

Метод Main вызывает Run для запуска приложения, которое создает форму, listBox1и button1.The Main method calls Run to start the application, which creates the form, listBox1, and button1. Когда пользователь нажимает кнопку button1, метод button1_Click добавляет числа от 1 до 3 в список и отображает MessageBox.When the user clicks button1, the button1_Click method adds numbers one to three to the list box, and displays a MessageBox. Если пользователь нажмет кнопку нет на MessageBox, метод button1_Click добавляет еще один номер в список.If the user clicks No on the MessageBox, the button1_Click method adds another number to the list. Если пользователь нажмет кнопку Да, приложение вызывает Exit, чтобы обработать все оставшиеся сообщения в очереди, а затем завершить работу.If the user clicks Yes, the application calls Exit, to process all remaining messages in the queue and then to quit.

В этом примере требуется, чтобы listBox1 и button1 были созданы и помещены в форму.The example requires that listBox1 and button1 have been instantiated and placed on a form.

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 останавливает все выполняющиеся циклы сообщений во всех потоках и закрывает все окна приложения.The Exit method stops all running message loops on all threads and closes all windows of the application. Этот метод не обязательно приводит к принудительному завершению работы приложения.This method does not necessarily force the application to exit. Метод Exit обычно вызывается в цикле обработки сообщений и принудительно выводит Run.The Exit method is typically called from within a message loop, and forces Run to return. Чтобы выйти из цикла обработки сообщений только для текущего потока, вызовите ExitThread.To exit a message loop for the current thread only, call ExitThread.

Exit вызывает следующие события и выполняет связанные условные действия:Exit raises the following events and performs the associated conditional actions:

  • Событие FormClosing вызывается для каждой формы, представленной свойством OpenForms.A FormClosing event is raised for every form represented by the OpenForms property. Это событие можно отменить, задав для свойства Cancel своего FormClosingEventArgsного параметра значение true.This event can be canceled by setting the Cancel property of their FormClosingEventArgs parameter to true.

  • Если один из обработчиков отменяет событие, Exit возвращается без дальнейших действий.If one of more of the handlers cancels the event, then Exit returns without further action. В противном случае событие FormClosed вызывается для каждой открытой формы, тогда все выполняющиеся циклы сообщений и формы будут закрыты.Otherwise, a FormClosed event is raised for every open form, then all running message loops and forms are closed.

Примечание

Метод Exit не вызывает события Closed и Closing, которые устарели в .NET Framework 2.0.NET Framework 2.0.The Exit method does not raise the Closed and Closing events, which are obsolete as of .NET Framework 2.0.NET Framework 2.0.

Безопасность

SecurityPermission
для непосредственного вызывающего объекта, чтобы вызвать неуправляемый код.for the immediate caller to call unmanaged code. Связанное перечисление: UnmanagedCodeAssociated enumeration: UnmanagedCode

Дополнительно

Exit(CancelEventArgs)

Сообщает всем средствам переноса сообщений, что они должны завершить работу, а затем закрывает все окна приложения после обработки сообщений.Informs all message pumps that they must terminate, and then closes all application windows after the messages have been processed.

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 в приложении.Returns whether any Form within the application cancelled the exit.

Безопасность

SecurityException
Разрешение на завершение выполняющегося потока приложения.For permission to terminate a running application thread. Связанное перечисление: UnmanagedCodeAssociated enumeration: UnmanagedCode

Дополнительно

Применяется к