Ответ 1
this.Close();
Закрывает форму программно.
У меня есть кнопка выхода на winform, которую я хочу использовать для закрытия программы. Я добавил имя кнопки в свойство FormClosed, найденное в разделе событий свойств winforms. Я думал, что все, что мне нужно было сделать, но когда я нажимаю кнопку, она не закрывается. Я посмотрел на код, и когда обработчик создан, внутри него нет кода. Я не знаю, правильно это или нет. Вот код, который был создан в файле Form.cs:
private void btnExitProgram_Click(object sender, EventArgs e)
{
}
Что еще мне нужно сделать?
this.Close();
Закрывает форму программно.
Удалите этот метод, я подозреваю, что вам также может понадобиться удалить его из Form.Designer
.
В противном случае: Application.Exit();
Должен работать.
Вот почему дизайнер плохо для вас.:)
Событие FormClosed - событие, которое срабатывает, когда форма закрывается. Он не используется для фактического закрытия формы. Вам нужно будет удалить все, что вы там добавили.
Все, что вам нужно сделать, это добавить следующую строку в обработчик событий кнопки:
this.Close();
Мы можем закрыть каждое окно, используя Application.Exit();
Используя этот метод, мы также можем закрыть скрытые окна.
private void btnExitProgram_Click(object sender, EventArgs e)
{
Application.Exit();
}
Поместите этот маленький код в случае кнопки:
this.Close();
Попробуйте следующее:
private void btnExitProgram_Click(object sender, EventArgs e) {
this.Close();
}
В Visual Studio 2015 добавлено это в меню File → Exit и в этом обработчике:
this.Close();
но IDE сказал, что 'this' не требуется. Использовал предложение IDE только с Close();
, и он сработал.
Если вы хотите только закрыть форму, вы можете использовать this.Close(); иначе, если вы хотите, чтобы все приложение было закрыто, используйте Application.Exit();
Вы также можете сделать это так:
private void button2_Click(object sender, EventArgs e)
{
System.Windows.Forms.Application.ExitThread();
}