프로그램 중간에 종료를 시켜야 하는 경우 위의 3가지 방식을 사용할 수 있습니다.
각 특징은 아래와 같습니다.
Close() : 해당되는 폼만 닫습니다.
Application.Exit() : 다른 서브 폼에서 호출 해도 메인 폼의 Close()까지 동작되게 됩니다.
Environment.Exit(0) : 이 곳에서 바로 종료됩니다.
using System;
using System.Windows.Forms;
namespace CloseTest
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Close();
//이 후 로직도 타게 됩니다.
//무언가 로직 실행... (+ FormClosing)
}
private void button2_Click(object sender, EventArgs e)
{
Application.Exit();
//이 후 로직도 타게 됩니다.
//무언가 로직 실행... (+ FormClosing)
}
private void button3_Click(object sender, EventArgs e)
{
Environment.Exit(0);
//바로 종료 됩니다. (FormClosing을 타지 않습니다.)
//실행되지 않는 이 후 로직!
}
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
//Close(), Application.Exit() 시에 이 곳까지 도달합니다.
e.Cancel = true; //프로그램이 종료되지 못하도록 막습니다.
}
}
}
'C# > Windows Form' 카테고리의 다른 글
[C# Windows Form] 디자인 문서개요 (요소 계층 구조 표현) (0) | 2024.03.11 |
---|---|
[C# Windows Form] 로그 클래스 (CallerMemberName) (0) | 2024.02.17 |
[C# Windows Form] 파일을 베이스64로 읽기 / 쓰기 (FileToBase64, Base64ToFile) (0) | 2024.02.12 |
[C# Windows Form] Form을 Alt+Tab 에 안보이도록 설정 (0) | 2024.02.11 |
[C# Windows Form] 투명 오브젝트 만들기 (워터마크, 덮개 등) (0) | 2024.02.11 |