Стандартные способы:
Не стандартные способы:
- кликнуть в правом верхнем углу красную кнопку "крестик"
- комбинация клавиш Alt+F4
- кликнуть правой кнопкой мыши в верхнем левом углу, выбрать из контекстного меню "Закрыть"
Не стандартные способы:
с помощью красной кнопки "крестик" с использованием окна сообщения
Пользователь пытается закрыть программу стандартным способом, кликает на верхнюю правую кнопку "крестик", нажимает комбинацию клавиш Alt+F4 или в левом верхнем углу вызывает контекстное меню формы. Но программа сразу не закрывается, а появляется окно сообщения, в котором нужно подтвердить решение закрытия.
Событие FormClosingEventArgs принимает параметр "е". Этот параметр имеет свойство Cancel. Если установить его в false, форма закроется, если в true — останется открытой.
Событие FormClosingEventArgs принимает параметр "е". Этот параметр имеет свойство Cancel. Если установить его в false, форма закроется, если в true — останется открытой.
Form1.cs
using
System;
using
System.Collections.Generic;
using
System.ComponentModel;
using
System.Data;
using
System.Drawing;
using
System.Linq;
using
System.Text;
using
System.Threading.Tasks;
using
System.Windows.Forms;
namespace
_0006 {
-
public
partial
class
Form1 : Form {
-
public
Form1() {
-
InitializeComponent();
-
}
-
private
void
Form1_FormClosing(
object
sender, FormClosingEventArgs e) {
-
DialogResult dialog = MessageBox.Show(
-
"Вы действительно хотите выйти из программы?"
,
-
"Завершение программы"
,
-
MessageBoxButtons.YesNo,
-
MessageBoxIcon.Warning
-
);
-
if
(dialog == DialogResult.Yes) {
-
e.Cancel =
false
;
-
}
-
else
{
-
e.Cancel =
true
;
-
}
-
}
-
}
}
using
System;
using
System.Collections.Generic;
using
System.ComponentModel;
using
System.Data;
using
System.Drawing;
using
System.Linq;
using
System.Text;
using
System.Threading.Tasks;
using
System.Windows.Forms;
namespace
_0006 {
-
public
partial
class
Form1 : Form {
-
public
Form1() {
-
InitializeComponent();
-
}
-
private
void
Form1_FormClosing(
object
sender, FormClosingEventArgs e) {
-
DialogResult dialog = MessageBox.Show(
-
"Вы действительно хотите выйти из программы?"
,
-
"Завершение программы"
,
-
MessageBoxButtons.YesNo,
-
MessageBoxIcon.Warning
-
);
-
if
(dialog == DialogResult.Yes) {
-
e.Cancel =
false
;
-
}
-
else
{
-
e.Cancel =
true
;
-
}
-
}
-
}
}
через созданную кнопку
Метод Close() в родительской форме закрывает все приложение.
Метод Close() в дочерних формах закрывает только дочернюю форму.
Метод Application.Exit() закрывает приложение, если вызывается как из родительской формы, так и из дочерних форм.
Метод Close() в дочерних формах закрывает только дочернюю форму.
Метод Application.Exit() закрывает приложение, если вызывается как из родительской формы, так и из дочерних форм.
Form1.cs
using
System;
using
System.Collections.Generic;
using
System.ComponentModel;
using
System.Data;
using
System.Drawing;
using
System.Linq;
using
System.Text;
using
System.Threading.Tasks;
using
System.Windows.Forms;
namespace
_0007 {
-
public
partial
class
Form1 : Form {
-
public
Form1() {
-
InitializeComponent();
-
}
-
private
void
button1_Click(
object
sender, EventArgs e) {
-
this
.Close();
-
//Application.Exit();
-
}
-
}
}
using
System;
using
System.Collections.Generic;
using
System.ComponentModel;
using
System.Data;
using
System.Drawing;
using
System.Linq;
using
System.Text;
using
System.Threading.Tasks;
using
System.Windows.Forms;
namespace
_0007 {
-
public
partial
class
Form1 : Form {
-
public
Form1() {
-
InitializeComponent();
-
}
-
private
void
button1_Click(
object
sender, EventArgs e) {
-
this
.Close();
-
//Application.Exit();
-
}
-
}
}
через созданную кнопку с использованием окна сообщения
В этом примере мы добавим кнопку на форму, которая будет закрывать приложение. Но при нажатии на кнопку будет вызвано окно сообщений.
Form1.cs
using
System;
using
System.Collections.Generic;
using
System.ComponentModel;
using
System.Data;
using
System.Drawing;
using
System.Linq;
using
System.Text;
using
System.Threading.Tasks;
using
System.Windows.Forms;
namespace
_0008 {
-
public
partial
class
Form1 : Form {
-
public
Form1() {
-
InitializeComponent();
-
}
-
private
void
button1_Click(
object
sender, EventArgs e) {
-
DialogResult dialog = MessageBox.Show(
-
"Вы действительно хотите выйти из программы?"
,
-
"Завершение программы"
,
-
MessageBoxButtons.YesNo,
-
MessageBoxIcon.Warning
-
);
-
if
(dialog == DialogResult.Yes) {
-
this
.Close();
-
//Application.Exit();
-
}
-
}
-
}
}
using
System;
using
System.Collections.Generic;
using
System.ComponentModel;
using
System.Data;
using
System.Drawing;
using
System.Linq;
using
System.Text;
using
System.Threading.Tasks;
using
System.Windows.Forms;
namespace
_0008 {
-
public
partial
class
Form1 : Form {
-
public
Form1() {
-
InitializeComponent();
-
}
-
private
void
button1_Click(
object
sender, EventArgs e) {
-
DialogResult dialog = MessageBox.Show(
-
"Вы действительно хотите выйти из программы?"
,
-
"Завершение программы"
,
-
MessageBoxButtons.YesNo,
-
MessageBoxIcon.Warning
-
);
-
if
(dialog == DialogResult.Yes) {
-
this
.Close();
-
//Application.Exit();
-
}
-
}
-
}
}