C#

C# 프로그램 System Tray Icon 만들기

saltdoll 2017. 9. 14. 07:02
반응형

윈도우의 왼쪽 하단에 있는 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. 실행된 모습

참고: 트레이 아이콘을 가지는 윈도우 만들기

반응형
도움이 되셨다면 하트모양의 "♡ 공감"을 눌러주시면 큰 격려가 됩니다.
(로그인하지 않으셔도 가능)