[WPF] 트레이 아이콘 만들고 사용하기

 

트레이 아이콘을 만들고 , 무언가 알림이 있을때 풍선메시지를 만들어 본다.

먼저 간단히 아이콘을 만들어 리소스에 넣어 본다.

* [프로젝트 속성] - 리소스 - 리소스추가 - 아이콘 추가

를 하면 기본 아이콘이 생성된다.

이를

Properties.Resources.Icon1;

로 접근 할수 있다.

 

사용법은 아래와 같다.

 
private System.Windows.Forms.NotifyIcon trayIcon;
        protected override void OnInitialized(EventArgs e)
        {
            base.OnInitialized(e);

            //make up tray icon
            trayIcon = new System.Windows.Forms.NotifyIcon();
            trayIcon.BalloonTipText = "this app has been minimised";
            trayIcon.BalloonTipTitle = "BalloonTipTitle";
            trayIcon.Text = "Text";
            trayIcon.Icon = Properties.Resources.Icon1;
            trayIcon.Click += m_notifyIcon_Click;

            //make up test timer.
            DispatcherTimer timer = new DispatcherTimer();
            timer.Interval = new TimeSpan(0, 0, 2);
            timer.Tick += timer_Tick;
            timer.Start();
        }


        private int c = 0;
        void timer_Tick(object sender, EventArgs e)
        {
            //if you want alert something , use this method. and change Text
            trayIcon.ShowBalloonTip(1000);
            trayIcon.BalloonTipTitle = "count " + c;
            trayIcon.BalloonTipText = "alert test";
            ++c;
        }

        void m_notifyIcon_Click(object sender, EventArgs e)
        {
            Show();
            //restore window state
            WindowState = System.Windows.WindowState.Normal;
        }

        
        private void Window_IsVisibleChanged_1(object sender, DependencyPropertyChangedEventArgs e)
        {
            // when window is unvisible , change visible option tray icon .
            if (IsVisible == false)
                trayIcon.Visible = true;
        }

        private void Window_StateChanged_1(object sender, EventArgs e)
        {
            if (WindowState == System.Windows.WindowState.Minimized)
            {
                Hide();
                trayIcon.ShowBalloonTip(2000);
            }
        }

        protected override void OnClosing(CancelEventArgs e)
        {
            base.OnClosed(e);
            //when user click The [Close button] , this app will not work window close command.
            //instead , this app window change to minimized state. 
            WindowState = System.Windows.WindowState.Minimized;
            e.Cancel = true;
        }

Yamecoder 야매코더_
C# 2013. 1. 16. 13:29

댓글을 달아 주세요

  1. BlogIcon Tory Burch Flats 2013.03.21 18:44  수정/삭제  댓글쓰기

    행복을 졸겨야 할 시간은 지금이다. 행복을 즐겨야 할 장소는 여기다.

  2. BlogIcon toms shoes sale 2013.04.02 05:14  수정/삭제  댓글쓰기

    아름다운 여자가 해바라기하는 걸 좋아해요

  3. BlogIcon christian louboutin shoes 2013.04.03 04:31  수정/삭제  댓글쓰기

    아름다운 여자가 해바라기하는 걸 좋아해요

  4. BlogIcon ralph lauren shoes 2013.04.24 13:17  수정/삭제  댓글쓰기

    태양이 바다에 미광을 비추면,나는 너를 생각한다.

  5. BlogIcon nike shoes 2013.07.13 15:40  수정/삭제  댓글쓰기

    다른 남자 부르면서 울거면 나한테 이쁘지나 말던지

  6. BlogIcon 匿名 2013.11.26 05:39  수정/삭제  댓글쓰기

    버마Your ISP shut your services down even if you are running opt-in email lists because of some complaints from some users that forget they were opted in? Then our overseas BP (bullet proof) web hosting services are your choice. We will help you on getting a stable web hosting and make money with ease.


    Your ISP shut your services down even if you are running opt-in email lists because of some com어리

Powerd by Tistory, designed by criuce
rss