C# 프로그램 System Tray Icon 만들기
윈도우의 왼쪽 하단에 있는 System Tray Icon 형식으로 프로그램 만들기
사용 컨트롤: Form, NotifyIcon, ContextMenuStrip
1. 폼을 만들기
- Form 시작시 작게 만들고, Taskbar에 어플리케이션 숨기기
- Form에 FormClosing이벤트에 종료창 누르실 tray형식으로 변경하게 코딩
public MainSync() //생성
{
InitializeComponent();
this.WindowState = FormWindowState.Minimized;
this.ShowInTaskbar = false;
this.Visible = false;
//this.notifyIcon1.Visible = true;//Tray 보이기 속성
//notifyIcon1.ContextMenuStrip = contextMenuStrip1;//Tray(notifyicon)와 contextMenuStrip연결
}
private void MainSync_FormClosing(object sender, FormClosingEventArgs e)
{
e.Cancel = true; // 종료 이벤트 취소
this.Visible = false; // 폼을 표시하지 않는다.
}
2. notifyicon컨트롤을 폰에 추가
- Icon: 대표 이미지 ICO 파일 선택 (사이즈: 16x16 supports: 16, 32,48 and 256 sizes)
- Text: 마우스 오버 되었을때, 나타나는 이름.
- Visible: 실행되면 무조건 Tray에 보이기
2. ContextMenuStrip컨트롤 추가하고, Snow / Exit 메뉴 추가
3. Snow 메뉴에 Click 이벤트 연결하기
private void showMainSyncToolStripMenuItem_Click(object sender, EventArgs e)
{
this.Visible = true;
if (this.WindowState == FormWindowState.Minimized)
this.WindowState = FormWindowState.Normal;
this.Activate();
}
4. Exit 메뉴에 Click 이벤트 연결하기
private void exitMainSyncToolStripMenuItem_Click(object sender, EventArgs e)
{
notifyIcon1.Visible = false;
Application.ExitThread();
Application.Exit();
}
5. 실행된 모습