Home Full Site
NotifyIcon 컨트롤

NotifyIcon 컨트롤은 데스크탑 오른쪽 하단의 알림영역(Notification Area)에 작은 아이콘을 보여주고, 사용자에게 프로그램과 소통할 수 있는 방법을 제공하는 컨트롤이다. 이 알림영역 아이콘들은 백그라운에 돌고 있는 프로그램들과 연결되어 있다. 다음 그림은 프로그램이 실행되었을 때 나타난 알림영역 아이콘을 보여준다.


NotifyIcon 컨트롤 실행


NotifyIcon 컨트롤 디자인

NotifyIcon 컨트롤을 도구상자(ToolBox)에서 드래그 앤 드랍하면 폼위에 컨트롤이 생기는 것이 아니라, 폼 하단에 컨트롤이 생긴다. 이 컨트롤을 클릭하고 속성창에서 Icon이나 Text 속성 등을 지정한다.


NotifyIcon 컨트롤 디자인


NotifyIcon 컨트롤 사용

아래 예제는 NotifyIcon컨트롤에 컨텍스트메뉴를 넣고, 사용자가 아이콘을 더블클릭했을 때 DoubleClick 이벤트를 처리하는 예이다. 예제는 Context메뉴중 종료를 누르면, 프로그램이 종료되는 루틴을 C# Lambda Expression을 이용해 처리하고 있으며, DoubleClick 이벤트 핸들러에서는 본 프로그램을 활성화하게 된다.

예제

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {
        // NotifyIcon에 메뉴 추가
        ContextMenu ctx = new ContextMenu();
        ctx.MenuItems.Add(new MenuItem("열기"));
        ctx.MenuItems.Add(new MenuItem("실행"));
        ctx.MenuItems.Add("-");
        ctx.MenuItems.Add(new MenuItem("종료", new EventHandler((s, ex) => this.Close())));
        notifyIcon1.ContextMenu = ctx;
    }

    private void notifyIcon1_DoubleClick(object sender, EventArgs e)
    {
        // 아이콘을 더블클릭하면 폼 화면을 보여줌
        if (this.WindowState == FormWindowState.Minimized)
            this.WindowState = FormWindowState.Normal;
        this.Activate();
    }
}



© csharpstudy.com