반응형

트레이 아이콘에 간단한 메뉴를 등록해 보자.

 

NotifyIcon, ContextMenuStrip, Timer를 폼에 배치한다.

 

ContextMenuStrip을 위와 같이 편집한다.

 

NotifyIcon의 Properties를 위와 같이 편집한다.

Icon - 원하는 아이콘 선택

ContextMenuStrip - 폼에 배치한 contexMenuStrip1 선택

Visible - 처음 실행 시 보이지 않도록 False

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
 
            timer1.Enabled = true;
            timer1.Interval = 10000;
        }
 
        private void showToolStripMenuItem_Click(object sender, EventArgs e)
        {
            notifyIcon1.Visible = false;
            Show();
        }
 
        private void hideToolStripMenuItem_Click(object sender, EventArgs e)
        {
            // Hide 메뉴의 의미는 없다.
            notifyIcon1.Visible = true;
            Hide();
        }
 
        private void exitToolStripMenuItem_Click(object sender, EventArgs e)
        {
            // Close()로 종료를 시도하면 Form1_FormClosing() 때문에 종료되지 않는다.
            Application.Exit();
        }
 
        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            // 폼의 종료 아이콘 클릭시 종료하지 않고 숨김, 트레이 아이콘 활성화.
            notifyIcon1.Visible = true;
            
            if (e.CloseReason == CloseReason.UserClosing)
            {
                Hide();
                e.Cancel = true;
            }
        }
 
        private void timer1_Tick(object sender, EventArgs e)
        {
            // 타이머 인터벌이 10초 이므로 트레이 아이콘이 활성화 되어 있을때 10초마다 2초간 알림.
            if (notifyIcon1.Visible == true)
            {
                notifyIcon1.ShowBalloonTip(2000"알림""트레이에 숨어 있습니다!!", ToolTipIcon.Info);
            }            
        }
    }
}
 

 

소스를 입력하고 빌드한다.

 

실행하면 폼만 나타난다. 종료 아이콘(X)을 클릭해 보자.

 

트레이 아이콘이 나타난다.

 

매 10초마다 알림이 나타난다.

 

반응형
Posted by J-sean
: