C# 종료버튼 클릭시 최소화 시키기
종료버튼 클릭시 최소화 시키기
1. 상태 Flag 변수 선언
2. Form_Closing Event에서 if(flag) else 문 처리
3. WndProc함수 재 정의
private bool isExit = false; //선언
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
// 진짜 종료
if (isExit == true)
{
//...기타작업
e.Cancel = false;
}
// 숨김
else
{
this.hide();
e.Cancel = true;
}
}
위처럼 이벤트 처리하면 우선 X버튼 클릭시 종료가 되지 않고 숨어버리게 되고
특정 버튼 클릭시 isExit 값을 변경해 주면 종료가 되게 된다.
하지만, 문제점!
윈도우 종료 시킬때 프로그램이 종료되지 않는다!ㅋㅋㅋ
그러면 아래처럼 정의해주면 끝~ㅋㅋㅋ
protected override void WndProc(ref Message m)
{
UInt32 WM_QUERYENDSESSION = 0x11; // Logoff or shutdown
/*----------------------------------------------------*/
/* 윈도우 종료시에 종료시켜 버린다. */
/*----------------------------------------------------*/
if (m.Msg == WM_QUERYENDSESSION)
{
isExit = true;
}
base.WndProc(ref m);
}
[출처] C# 종료버튼 클릭시 최소화 시키기|작성자 록사마
'Programming > C#' 카테고리의 다른 글
String.Format으로 할 수 있는 일들 (0) | 2010.07.20 |
---|---|
C#에서 Win32 API 사용하기 (1) | 2010.07.20 |
@" 는 무슨 의미인가요? (0) | 2010.07.20 |
Full Path에서 화일명,디렉토리명만 뽑아오기 && 시스템폴더명 가져오기 (0) | 2010.07.19 |
은양의 프로그래밍 세상 (0) | 2010.07.19 |