Поделиться через


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 метод добавляет числа от одного до трех в поле списка и отображает .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 вызывает следующие события и выполняет связанные условные действия:

  • Событие FormClosing вызывается для каждой формы, представленной свойством OpenForms . Это событие можно отменить, задав свойству Cancel их FormClosingEventArgs параметра значение true.

  • Если один из обработчиков отменяет событие, возвращается Exit без дальнейших действий. В противном случае событие вызывается для каждой FormClosed открытой формы, а затем все выполняемые циклы сообщений и формы закрываются.

Примечание

Метод Exit не вызывает Closed события и Closing , которые устарели с платформа .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 в приложении.

См. также раздел

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