프로그램을 계속 실행 시켜두지만 화면에 띄우지 않아도 될 때,
작업표시줄에 계속 보이면 신경 쓰이잖아요?
트래이 아이콘으로 만들어서 시계 옆에 쪼맨한 아이콘으로 박아두면 덜 신경 쓰이죵~
그럴 때 사용하는 거랍니다. (NotifyIcon)
ContextMenuStrip은 트래이 아이콘이 되었을 때 마우스 오른쪽 버튼을 누르면 메뉴가 띄게끔 만들 때 사용하구요..
[NotifyIcon 컨트롤 추가]
[ContextMenuStrip 컨트롤 추가 > 메뉴추가]
폼디자인에서 직접 메뉴를 넣어줘도 되고, 코딩할 때 넣어줘도 됨.
[NotifyIcon 컨트롤 속성변경]
[주의] :: Icon 설정을 하지 않으면 Tray Icon이 보이지 않음.
//메인창 메뉴 > 화면 숨기기 클릭시 작동
//메인창 최소화 버튼 클릭시 작동
//트래이 아이콘에서 오른쪽 버튼을 눌러 "열기" 를 눌렀을 경우 (ContextMenuStrip)
//트래이 아이콘을 더블클릭 했을 때 작동
//창 비활성화 = 트래이 아이콘으로만 동작
//창 활성화 = 트래이 아이콘 종료
작업표시줄에 계속 보이면 신경 쓰이잖아요?
트래이 아이콘으로 만들어서 시계 옆에 쪼맨한 아이콘으로 박아두면 덜 신경 쓰이죵~
그럴 때 사용하는 거랍니다. (NotifyIcon)
ContextMenuStrip은 트래이 아이콘이 되었을 때 마우스 오른쪽 버튼을 누르면 메뉴가 띄게끔 만들 때 사용하구요..
[NotifyIcon 컨트롤 추가]
[ContextMenuStrip 컨트롤 추가 > 메뉴추가]
폼디자인에서 직접 메뉴를 넣어줘도 되고, 코딩할 때 넣어줘도 됨.
[NotifyIcon 컨트롤 속성변경]
[주의] :: Icon 설정을 하지 않으면 Tray Icon이 보이지 않음.
//메인창 메뉴 > 화면 숨기기 클릭시 작동
private void mnuNotifyIcon_Click(object sender, EventArgs e)
{
Tray_On();
}
//메인창 최소화 버튼 클릭시 작동
private void frmMain_SizeChanged(object sender, EventArgs e)
{
if (FormWindowState.Minimized == WindowState) //최소화 상태면
Tray_On();
}
//트래이 아이콘에서 오른쪽 버튼을 눌러 "열기" 를 눌렀을 경우 (ContextMenuStrip)
private void stripMnuOpen_Click(object sender, EventArgs e)
{
Tray_Off();
}
//트래이 아이콘에서 오른쪽 버튼을 눌러 "종료" 를 눌렀을 경우 (ContextMenuStrip)
//트래이 아이콘에서 오른쪽 버튼을 눌러 "종료" 를 눌렀을 경우 (ContextMenuStrip)
private void stripMnuExit_Click(object sender, EventArgs e)
{
Application.Exit(); //프로그램 종료
}
//트래이 아이콘을 더블클릭 했을 때 작동
private void notifyIcon1_MouseDoubleClick(object sender, MouseEventArgs e)
{
Tray_Off();
}
//창 비활성화 = 트래이 아이콘으로만 동작
private void Tray_On()
{
this.Visible = false; //폼 표시안함
notifyIcon1.Visible = true; //트래이 아이콘 표시
}
//창 활성화 = 트래이 아이콘 종료
private void Tray_Off()
{
this.Visible = true; //폼 표시
if (this.WindowState == FormWindowState.Minimized) //최소화 상태면?
this.WindowState = FormWindowState.Normal; //최소화 중지
this.Activate(); //폼을 활성화
notifyIcon1.Visible = false; //트래이 아이콘 표시안함
}
'컴퓨터 > 언어,프로그래밍' 카테고리의 다른 글
How to Move the Textbox Control in C# (0) | 2012.09.20 |
---|---|
[C# .NET] BackgroundWorker, ProgressBar 활용 (0) | 2012.09.19 |
[C#] Tray Icon (트래이 아이콘)으로 만들기 (0) | 2012.09.17 |
[C#] progress bar 사용하기 (1) | 2012.09.17 |
[C#] 부모창에서 자식창으로 값 넘기는 방법(소스) (0) | 2012.09.17 |