Як зробити одну іконку в треї і меню для декількох форм

Як зробити одну іконку в треї і меню для декількох форм
  • C #

У додатку 2 форми. 1 форма під час відкривання і має кнопку, при натисканні на яку 1 форма закривається і відкривається 2 (основна).

Потрібно зробити згортання додатку в трей і контекстне меню у іконки в треї.
Роблю через компоненти notifyIcon і contextMenu. Вони прив'язані до конкретної формі і виходить, якщо робити на кожній формі свої notifyIcon і contextMenu, то і код обробки копіюється на обидві форми і пункти меню для кожної форми потрібно дублювати і при перемиканні між формами в треї 2 іконки.

Перемикання між формами зроблено так:


Якщо вставити в метод перемикання приховування іконки 1 форми this.notifyIcon1.Visible = false ;. то виходить погано. Технічно це 2 різні іконки і іконка стрибає між іншими в треї.
При спробі вийти з програми на 2 формі через меню в треї Application.Exit () ;. 2 форма закривається і відкривається 1.

При спробі вийти з програми на 2 формі через меню в треї Environment.Exit (1) ;. вихід відбувається, але 1 форма показується на деякий час.

Як правильно це реалізувати? Хотілося б працювати з загальним 1 компонентом, а не з двома.

За ідеіі, можна передати посилання на першу іконку в другу форму і нехай вона працює з нею, поки перша (форма) закрита.


Я тестіл це так.

вирішив затестіть. да все працює без проблем

Щось не виходить. Підкажіть, як ви це зробили.

notifyIcon можна ж і вручну створити, і не буде тоді скакати.

Ваш відповідь на питання

Увійдіть, щоб написати відповідь

Як зробити одну іконку в треї і меню для декількох форм
  • C #
  • Москва
  • Повний робочий день
  • від 130 000 руб.
  • Москва
  • Повний робочий день
  • від 150 000 руб.

ГК "Інжинірингові технології"

100000 руб. / В місяць

10000 руб. / За проект

Увійдіть на сайт

Щоб задати питання та отримати на нього кваліфіковану відповідь.