프로그램 소스
     
      백신류의 하나인 알약 소프트웨어 처럼 트레이에서 실행되는 방법을 알아 보겠습니다.
      컴퓨터를 사용하는 동안 계속 실행되어야 하는 프로그램에 많이 사용되는 방식입니다.
      트레이를 사용하는 프로그램 : 알약, 데몬(가상 CD), 사운드 관리 프로그램 등등

트레이아이콘
      기본적으로 제공되는 NotifyIcon 컨트롤이 사용됩니다.
      icon 을 꼭 지정해야 트레이 아이콘이 나타납니다. 만약 icon 값이 null 경우에는 표시되지 않습니다.
      폼 숨기기 : this.Hide();
      폼 보이기 : this.Activate();

     트레이 아이콘 보이기 : notifyIcon1.Visible = true;
     트레이 아이콘 숨기기 : notifyIcon1.Visible = false;


      트레이로 보내기
        private void ToTray()
        {
            this.Hide();
            notifyIcon1.Visible = true;
            notifyIcon1.ShowBalloonTip(100);
        }


트레이에서 풍선팁 보여주기
            notifyIcon1.ShowBalloonTip(100);

     



트레이 아이콘 위에 마우스를 올렸을 때
      notifyIcon1.Text = "트레이 아이콘";
     


메인 소스


        public Form1()
        {
            InitializeComponent();
            notifyIcon1.Visible = false;
        }

        private void ToTray()
        {
            this.Hide();
            notifyIcon1.Visible = true;
            notifyIcon1.ShowBalloonTip(100);
        }

        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            e.Cancel = true;
            this.ToTray();
        }

        private void 종료ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            notifyIcon1.Visible = false;
            this.Dispose();
            Application.Exit();
        }

        private void notifyIcon1_MouseDoubleClick(object sender, MouseEventArgs e)
        {
            this.Visible = true; // 폼의 표시
            if (this.WindowState == FormWindowState.Minimized)
                this.WindowState = FormWindowState.Normal; // 최소화를 멈춘다
            this.Activate(); // 폼을 활성화 시킨다

            this.notifyIcon1.Visible = false;
        }

        private void Form1_MinimumSizeChanged(object sender, EventArgs e)
        {
            this.ToTray();
        }

        private void Form1_SizeChanged(object sender, EventArgs e)
        {
            if (FormWindowState.Minimized == WindowState)
                this.ToTray();
        }

원문은 http://whiteat.com/zbxe/37822 에 있습니다.

'스터디 > C#.NET:자료' 카테고리의 다른 글

다른 폼의 데이터 제어/변경하기  (0) 2010.11.06
런타임에러, 예외 처리 방법, try catch  (0) 2010.10.31
ListView 에 ComboBox 붙이기  (3) 2010.10.28
C# 에서 string 관련  (0) 2010.10.22
TreeView 이용하기  (1) 2010.10.18
FlagsAttribute Class  (0) 2010.10.09
레지스트리 변경 이벤트  (0) 2010.10.08
GC.SuppressFinalize 메서드  (0) 2010.10.08
클래스 내에서의 쓰레드  (0) 2010.10.08
unchecked 키워드  (0) 2010.10.07

+ Recent posts