WPF - Tray icon(트레이 아이콘) 과 메뉴 추가, 관리하기

2019. 7. 15. 17:22· Csharp
목차
  1. Setup
  2. Usage

 

Setup


 

트레이 아이콘을 추가하기 위해서는, 프로젝트에 참조 추가를 해야함

솔루션 탐색기에서 참조를 추가할수 있으며, "System.Windows.Forms" 을 추가하면 됨

 

 

- 만약 "System.Windows.Forms" 참조를 추가한 후 MessageBox를 사용할려면, "System.Windows.MessageBox"와 "System.Windows.Forms.MessageBox" 사이 참조가 애매하다는 에러가 뜸.

MessageBox를 사용할려면, 이 코드를 추가해야 함

1
using MessageBox = System.Windows.Forms.MessageBox;
cs

 

 

 

Usage


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
namespace WPF
{
    public partial class MainWindow : Window
    {
        NotifyIcon ni = new NotifyIcon();
 
        public MainWindow()
        {
            InitializeComponent();
 
            System.Windows.Forms.ContextMenu menu = new System.Windows.Forms.ContextMenu();    // Menu 객체
 
            System.Windows.Forms.MenuItem item1 = new System.Windows.Forms.MenuItem();    // Menu 객체에 들어갈 각각의 menu
            item1.Index = 0;
            item1.Text = "Menu01";    // menu 이름
 
            item1.Click += delegate (object click, EventArgs eClick)    // menu 의 클릭 이벤트 등록
            {
                Method1();
            }
            System.Windows.Forms.MenuItem item2 = new System.Windows.Forms.MenuItem();    // menu 객체에 들어갈 각 menu
            item2.Index = 1;
            item2.Text = "Menu02";    // menu 이름
            item2.Click += delegate (object click, EventArgs eClick)    // menu의 클릭 이벤트 등록
            {
                Method2();
            }            
 
            menu.MenuItems.Add(item1);    // Menu 객체에 각각의 menu 등록
            menu.MenuItems.Add(item2);    // Menu 객체에 각각의 menu 등록
 
            ni.Icon = new System.Drawing.Icon(new Uri("path"));    // 아이콘 등록 1번째 방법
            ni.Icon = Properties.Resources.SampleIcon;    // 아이콘 등록 2번째 방법
            ni.Visible = true;
            ni.DoubleClick += delegate (object senders, EventArgs args)    // Tray icon의 더블 클릭 이벤트 등록
            {
                DoubleMethod();
            }
            ni.ContextMenu = menu;    // Menu 객체 등록
            ni.Text = "WPF";    // Tray icon 이름
 
        }
    }
}
 
Colored by Color Scripter
cs

 

  • NotifyIcon: Tray Icon 객체

        - Icon: Tray Icon의 아이콘 파일

        - Visible: Tray Icon 노출 여부 (True: 노출 허용 / False: 노출 불허)

        - ContextMenu: Menu 객체

        - Text: Tray Icon 이름

        - DoubleClick: 더블 클릭 이벤트

 

  • System.Windows.Forms.ContextMenu: Menu 객체

        - menuItems.Add( ): Menu 객체에 각각의 menu 등록

 

  • System.Windows.Forms.MenuItem: Menu 객체의 각각의 menu

        - Index: menu 인덱스 ( 0 이 최상단)

        - Text: menu 이름

        - Click: 클릭 이벤트

 

'Csharp' 카테고리의 다른 글

C# - 외부 프로그램과 링크 실행, 종료  (0) 2019.07.22
WPF - 다른 파일에서 Window.xaml.cs 코드 접근  (0) 2019.07.22
WPF - Image 가장자리 부드럽게 하기 (Antialiasing / 안티에일리어싱)  (0) 2019.07.14
WPF - Image 컴포넌트에 Uri 경로 설정  (0) 2019.07.14
C# - 파일 읽기와 쓰기 ( 저장 )  (0) 2019.07.07
  1. Setup
  2. Usage
'Csharp' 카테고리의 다른 글
  • C# - 외부 프로그램과 링크 실행, 종료
  • WPF - 다른 파일에서 Window.xaml.cs 코드 접근
  • WPF - Image 가장자리 부드럽게 하기 (Antialiasing / 안티에일리어싱)
  • WPF - Image 컴포넌트에 Uri 경로 설정
sckwon770
sckwon770
sckwon770
sckwon770
sckwon770
전체
오늘
어제
  • 분류 전체보기 (58)
    • 🚀 Activity (6)
      • Project (5)
      • Experience (1)
    • 🤖 Backend (28)
      • Linux (1)
      • SpringBoot (15)
      • Database (7)
      • Web (2)
      • Cloud (2)
      • Test (1)
    • 🛠 개발자 (1)
      • 회고 (0)
      • 독서 (1)
    • 🔥 Algorithm (5)
      • 백준 (2)
      • 프로그래머스 (1)
      • PS (1)
    • 👾 CS (0)
    • Python (2)
      • Programming (0)
      • PS Skills (0)
    • Csharp (15)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • ULID
  • CS
  • TSID
  • 테스트
  • 리뷰메이트
  • java
  • jacoco
  • springboot
  • mysql
  • JPA
  • WPF
  • 인덱스
  • C#
  • algorithm
  • ThreadPoolTaskExecutor
  • Hibernate
  • SSH
  • Python
  • 파이썬
  • SWAGGER

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
sckwon770
WPF - Tray icon(트레이 아이콘) 과 메뉴 추가, 관리하기
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.