반응형
Winfrom이든 WPF든 Tray Icon을 사용하기 위해서는 Winfrom의 NotifyIcon 을 사용해야한다.
WPF에서는 System.Windows.Forms 를 참조 추가해야 함.
1. MainWindow의 멤버변수로 NotifyIcon 추가
private NotifyIcon trayIcon;
2. TrayIcon을 생성하는 함수 추가
- TrayIcon 에 출력될 메뉴들에 대하여 ContextMenu를 추가하여 TrayIcon의 ContextMenu에 추가하여 사용한다.
private void CreateTrayIcon() { ContextMenu trayIconMenu = new ContextMenu(); MenuItem openMenu = new MenuItem("Open"); MenuItem exitMenu = new MenuItem("Exit"); trayIconMenu.MenuItems.Add(openMenu); trayIconMenu.MenuItems.Add(exitMenu); openMenu.Click += OpenMenu_Click; exitMenu.Click += ExitMenu_Click; trayIcon = new NotifyIcon(); trayIcon.Icon = Properties.Resources.IconFile; trayIcon.Visible = true; trayIcon.ContextMenu = trayIconMenu; trayIcon.Text = "App Name"; trayIcon.DoubleClick += TrayIcon_DoubleClick; }
3. App이 종료될때 꼭 trayIcon을 Dispose해줘야 하단의 트레이 아이콘이 바로 삭제된다
private void MainWindow_Closing(object sender, System.ComponentModel.CancelEventArgs e) { trayIcon.Dispose(); }
반응형
'[====== Development ======] > C#' 카테고리의 다른 글
| WPF Screen 사이즈 정보 가져오기 (0) | 2021.11.02 |
|---|---|
| .Net 버전표 (0) | 2021.11.01 |
| 간편한 INI 파일 Handler (0) | 2021.10.26 |
| [WPF] Invert 가능한 BooleanToVisibilityConverter (1) | 2021.10.26 |
| [WPF] Pack URI (0) | 2021.10.26 |
