윈도우의 왼쪽 하단에 있는 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. 실행된 모습
'C#' 카테고리의 다른 글
C# 코딩 규칙 (0) | 2017.11.23 |
---|---|
C#에서 BackgroundWorker를 사용하기 (0) | 2017.10.06 |
C# SqlCommand 클래스 + ExecuteXmlReader (0) | 2017.10.03 |
long? 형식은 nullable 가능하게 됨 ( null값 허용 ) (0) | 2017.09.29 |
Application.Exit() 해도 프로세스가 실행될때, 죽지 않을때. (0) | 2017.09.14 |
Visual Studio의 vshost.exe 실행 프로세서 (디버깅 프로그램) (0) | 2017.09.14 |
int형를 나누기 소수점을 얻으려면 => (double)로 캐스팅 변환 (0) | 2017.09.06 |
(C# Reference) C#의 int 순자의 범위 (0) | 2017.08.31 |
(로그인하지 않으셔도 가능)