2017. 2. 3. 07:00ㆍC# 윈폼 ( Windows Forms )/NotifyIcon
1. MSDN
2. 트레이아이콘 만들기 예제
-1) 다음과 같이 GUI를 구성합니다.
-2) 각 컨트롤의 ID를 설정합니다.
Button : btn_Close NotifyIcon : nIcon_Tray
|
-3) 각 컨트롤의 이벤트를 설정합니다.
Form1의 FormClosing 이벤트 명 : FormTray Button의 Click 이벤트명 : btn_Close_Click NotifyIcon의 DoubleClick 이벤트명 : nIcon_Tray_DoubleClick |
< Form1의 이벤트 >
< Button의 이벤트 >
< NotifyIcon의 이벤트 >
-4) NotifyIcon의 아이콘 설정 및 마우스를 올려두 었을 때 출력할 문구 작성
* 주 의 사 항
아이콘을 "없음"으로 설정시 응용프로그램이 트레이아이콘으로 이동시 보이지 않게 되어 종료할 수 없게 되므로 꼭 설정해 주어야 됩니다. |
-5) 소스코드 작성
btn_Close_Click Event
private void btn_Close_Click(object sender, EventArgs e) { if (MessageBox.Show("종료하시겠습니까?", "yuchae", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { //NotifyIcon을 숨기고 종료 this.nIcon_Tray.Visible = false; Application.Exit(); } } |
FormTray Event
private void FormTray(object sender, FormClosingEventArgs e) { //유저가 닫기버튼을 클릭하면 if (e.CloseReason == CloseReason.UserClosing) { //종료를 취소 e.Cancel = true; //어플리케이션을 숨긴다. this.Visible = false; // 트레이아이콘 생성 nIcon_Tray.Visible = true; } else //아니면 { //NotifyIcon을 숨긴다. nIcon_Tray.Visible = false; } } |
nIcon_Tray_DoubleClick Event
private void nIcon_Tray_DoubleClick(object sender, EventArgs e) { //notifyicon 더블 클릭시에 해당 어플리케이션을 보여준다. this.Visible = true; //최소화를 멈춘다 if (this.WindowState == FormWindowState.Minimized) this.WindowState = FormWindowState.Normal; //폼을 활성화 this.Activate(); //트레이아이콘 숨긴다. nIcon_Tray.Visible = false; } |
-6) 실행화면