Как закрыть программу в Windows forms

Краткое описание методов выхода из программы WinForm на C #

1. Закройте форму

Есть много способов выйти из программы WinForm в C #, например: this.Close (); Application.Exit (); Application.ExitThread (); System.Environment.Exit (0); Подождите, пока их соответствующие методы будут отличаться, давайте Расскажем о нем подробнее. Чтобы

1. this.Close (); Он просто закрывает текущее окно. Если это не главное окно, из программы нельзя выйти. Кроме того, если есть управляемый поток (не основной поток), он не может выйти чисто;

2.Application.Exit (); принудительно остановить все сообщения и закрыть все окна, но если есть управляемый поток (а не основной поток), он не может выйти чисто;

3.Application.ExitThread (); принудительно завершить все сообщения в вызывающем потоке, а также столкнуться с проблемой, что другие потоки не могут выйти правильно;

4.System.Environment.Exit (0); Это наиболее полный способ выхода, независимо от того, какой поток принудительно завершен, программа завершается очень чисто.

(C#)Как открыть новую форму и, чтобы закрылась старая форма?

2. Закрытие формы входа и основной формы.

Многие люди столкнутся с этой проблемой при использовании C # в качестве формы входа в систему.После успешного входа текущая форма входа закрывается и открывается главная форма, но программа все еще выполняется после того, как основная форма нажимает кнопку закрытия. Чтобы

Фактически, закрытие основной формы закрывает только поток основной формы, но не закрывает основной поток программы, то есть основной поток программы — это вход в систему From. Чтобы

Метод 1: (FrmLogin — это форма входа, FrmMain — основная форма) // Событие нажатия кнопки «Войти» в форме входа

private void button1_Click(object sender, EventArgs e) < if (txtName.Text == «123456») < FrmMain fm = new FrmMain(); fm.Show(); this.Dispose(false); >>
// Событие FormClosing или код события FormClosed главной формы private void FrmMain_FormClosing(object sender, FormClosingEventArgs e) < Application.Exit(); >// Код события FormClosed главной формы private void FrmMain_FormClosed(object sender, FormClosedEventArgs e)

Примечание. Выберите одно из событий FormClosing или FormClosed.Разница между ними заключается в том, что FormClosed возникает после закрытия, и действие закрытия формы нельзя отменить;

FormClosing происходит перед закрытием и может быть отменен, если вы используете e.Cancel = true; для предотвращения закрытия окна. Чтобы

Продвинутые навыки: перед выходом из программы появляется диалоговое окно для подтверждения выхода из программы // Код события FormClosing основной формы

private void FrmMain_FormClosing(object sender, FormClosingEventArgs e) < if (MessageBox.Show («Вы действительно хотите выйти из программы?», «Выйти из программы», MessageBoxButtons.OKCancel) == DialogResult.Cancel) < e.Cancel = true; >> //// FormClosed код события главной формы private void FrmMain_FormClosed(object sender, FormClosedEventArgs e) < Dispose(); Application.Exit(); >Советы: Следующий код вызовет два диалоговых окна для подтверждения для выхода. Если нажать «ОК» в первый раз и щелкнуть любое из них, для выхода. private void FrmMain_FormClosing(object sender, FormClosingEventArgs e) < if (MessageBox.Show («Вы действительно хотите выйти из программы?», «Выйти из программы», MessageBoxButtons.OKCancel) == DialogResult.OK) < Application.Exit(); >else < e.Cancel = true; >>

Читайте также:
Как подключиться к удаленному рабочему столу Windows 10 программа

Анализ: после первого нажатия кнопки «ОК» диалогового окна выхода Application.Exit (); вызовет второе событие FrmMain_FormClosing (), поэтому будут отображены два диалоговых окна для подтверждения выхода, но второе Выбор диалогового окна не влияет на выход. Его можно изменить, чтобы судить, не кнопка ли это подтверждения, тогда e.Cancel = true; кнопка подтверждения ничего не пишет и не оценивает, если вы хотите добавить Application.Exit (); вы можете добавить его в событие FormClosed формы в.

14. Урок Forms C# Свернуть, Развернуть, Закрыть.

//program.cs Код метода Main () входа в программу, где FrmLogin — форма входа в систему, а FrmMain — основная форма

static void Main() < Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); FrmLogin fl = new FrmLogin(); if (fl.ShowDialog() == DialogResult.OK) < Application.Run(new FrmMain()); >> // Код кнопки «Войти» в форме входа private void button1_Click(object sender, EventArgs e) < if (txtName.Text == «123456») < this.DialogResult = DialogResult.OK; this.Close(); >>

Источник: russianblogs.com

Application. Exit Метод

Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.

Сообщает всем средствам переноса сообщений, что они должны завершить работу, а затем закрывает все окна приложения после обработки сообщений.

Перегрузки

Сообщает всем средствам переноса сообщений, что они должны завершить работу, а затем закрывает все окна приложения после обработки сообщений.

Сообщает всем средствам переноса сообщений, что они должны завершить работу, а затем закрывает все окна приложения после обработки сообщений.

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 до трех в список и отображает значение MessageBox. Если пользователь нажимает кнопку «Нет » MessageBoxв списке, button1_Click метод добавляет в список еще одно число. Если пользователь нажимает кнопку «Да», приложение вызывает Exit, чтобы обработать все оставшиеся сообщения в очереди, а затем выйти.

Читайте также:
Как удалить программы из панели управления в Windows 7

В этом примере требуется 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 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/* 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(); >

_ 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 открытой формы, после чего все выполняемые циклы сообщений и формы закрываются.
Читайте также:
Как забиндить запуск программы на кнопку Windows 10

Метод Exit не вызывает Closed события и Closing события, которые устарели по состоянию на платформа .NET Framework 2.0.

Источник: learn.microsoft.com

Close Form in C#

Close Form in C#

  1. Close Form With the Application.Exit() Function in C#
  2. Close Form With the Form.Close() Function in C#

This tutorial will introduce the methods to close a form in C#.

Топ 5 направлений в .

Please enable JavaScript

Close Form With the Application.Exit() Function in C#

The Application.Exit() function is used to close the entire application in C#. The Application.Exit() function informs all message loops to terminate execution and closes the application after all the message loops have terminated. We can also use the Application.Exit() function to close a form in a Windows Form application if our application only consists of one form. See the following example.

using System; using System.Windows.Forms; namespace close_form public partial class Form1 : Form public Form1() InitializeComponent(); > private void button3_Click(object sender, EventArgs e) Application.Exit(); > > >

In the above code, we closed the form in our Windows Form application that only consists of one form with the Application.Exit() function in C#. The only drawback with this approach is that the Application.Exit() function exits the whole application. So, if the application contains more than one form, all the forms will be closed.

Close Form With the Form.Close() Function in C#

The Form.Close() function is used to close a Form in a Windows Form application in C#. We can use the Form.Close() function inside the button click event to close the specified form by clicking a button. See the following example.

using System; using System.Windows.Forms; namespace close_form public partial class Form1 : Form public Form1() InitializeComponent(); > private void button1_Click(object sender, EventArgs e) this.Close(); > > >

In the above code, we closed the form in our Windows Form application that only consists of one form with the Form.Close() function in C#. Unlike the previous method, this method only closes a single Form in our application. This method can be used to close a single form in an application that consists of multiple forms.

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

Related Article — Csharp GUI

  • Save File Dialog in C#
  • Group the Radio Buttons in C#
  • Add Right Click Menu to an Item in C#
  • Add Items in C# ComboBox
  • Add Placeholder to a Textbox in C#
  • Simulate a Key Press in C#

Источник: www.delftstack.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru