소년포비의 세계정복!!

[C#]트레이 아이콘 만들기 본문

프로그램 세상/C#

[C#]트레이 아이콘 만들기

소년포비 2009. 10. 2. 01:18

종료 혹은 최소화 버튼을 눌렷을 때 트레이 아이콘만들기~!

 

1.도구상자에서 NotifyIcon을 선택하여 Form에 추가 합니다. 추가 후 소성창의 Icon 속성에 준비해준 Ico 파일을 연결해 줍니다. 여기까지만 하고 실행시켜도 트레이에 우리 프로그램의 아이콘이 보이는 걸 볼 수 있습니다.


2. 트레이에서 마우스 오른쪽 버튼을 눌렀을 경우 나올 메뉴를 위해 ContextMenuStrip도 추가해 줍니다.

 



3. 아이콘 추가
Form에 NotifyIcon을 드레그 하여 추가한다.(시스템에 보여질 아이콘)

4. contextMenuStrip를 드레그 하여 추가한다.(트레이 아이콘의 오른쪽을 클릭하였을 때 보여질 메뉴스트립)
최대화(show)와 종료 버튼을 추가하였다.



5. 트레이 아이콘과 메뉴스트립 연결
폼이 초기에 로드될 때 연결이 되도록 설정하였다.
private void frmMain_Load(object sender, EventArgs e)
        {
            //트레이 아이콘과 컨텍스트메뉴 연결
            Tray.ContextMenuStrip = contextMenuStrip1;
        }
5. 종료 버튼을 눌렸을 때 최소화하기


이렇게 폼의 속성창에서 종료 이벤트를 추가하면 함수가 생성된다
private void frmMain_FormClosing(object sender, FormClosingEventArgs e)
 {
            e.Cancel = true;//이벤트 취소
            //둘중 한개 쓰면 됨 이둘을 사용하여 최소화 하면 alt+tab 실행 시 출력이 되지 않음 Start->
             this.Visible = false;
            //this.Hide();
            //둘중 한개 쓰면 됨 이둘을 사용하여 최소화 하면 alt+tab 실행 시 출력이 되지 않음 End<-

            //alt+tab를 눌렸을 때 도 나타나게 하는 법 Start ->
            //  this.WindowState = FormWindowState.Minimized;// 최소화
            //  this.ShowInTaskbar = false; //화면 하단에 나타나는것 해제
            //alt+tab를 눌렸을 때 도 나타나게 하는 법 End <-

   }

6. 트레이 아이콘 클릭시 최대화 하기
private void Tray_DoubleClick(object sender, EventArgs e)
        {
            //둘중 한개 쓰면 됨 이둘을 사용하여 최소화 하면 alt+tab 실행 시 출력이 되지 않음 Start->
             this.Visible = true;
            //this.Show();
            //둘중 한개 쓰면 됨 이둘을 사용하여 최소화 하면 alt+tab 실행 시 출력이 되지 않음 End<-

            //alt+tab를 눌렸을 때 도 나타나게 하는 법 Start ->
            //this.WindowState = FormWindowState.Maximized;// 최소화
            //this.ShowInTaskbar = true; //화면 하단에 나타나는것 해제
            //alt+tab를 눌렸을 때 도 나타나게 하는 법 End <-

      }

그외 트레이 아이콘에 show버튼을 눌렸을 때 함수 처리는 5번과 동일하게 내부 함수 처리하면 되고 exit눌렸을 때는 this.Close();처리를 하여 종료처리를 해주면 된다.!!

TraySample.zip


TraySample.zip
0.11MB