Як згорнути програму в трей панелі завдань в winforms, нюанси розробки

Як згорнути програму в трей панелі завдань в WinForms

Як згорнути програму в трей панелі завдань в winforms, нюанси розробки

Панель завдань Windows - дуже зручна і корисна особливість цієї системи. Ще краще її робить трей - місце куди згортаються програми, що працюють у фоновому режимі. У цій статті я розповім як згорнути програму WinForms в трей, а також, як фонового додатком дати про себе знати за допомогою спливаючих підказок.

Робиться ця нехитра завдання за допомогою об'єкта NotifyIcon:

Як і більшість об'єктів в .NET, цей був розроблений щоб зробити життя програміста простіше. Саме за допомогою цього контрола ми встановимо іконку програми в треї а також будемо виводити спливаючі підказки.

Додаємо об'єкт NotifyIcon на свою форму. Він має наступний набір властивостей:

Обов'язково вказуємо іконку яка буде відображатися в треї (властивість Icon). Якщо не зробити цього, то нічого не з'явитися в треї при згортанні програми.

Далі ми хочемо що б при натисканні кнопки вікна Згорнути (Minimize), програма забиралася в трей:

Як згорнути програму в трей панелі завдань в winforms, нюанси розробки

Для цього додаємо наступний оброблювач події Resize форми:

У цьому елементарному шматочку коду при зміні розміру форми, ми перевіряємо чи не було змінено її стан в «Мінімізована» (Minimized), і якщо так, то просто ховаємо програму методом Hide (). Якщо зараз запустити наш додаток і натиснути кнопку Згорнути, то отримаємо такий результат:

Як згорнути програму в трей панелі завдань в winforms, нюанси розробки

Тепер ще не завадило б прописати логіку «розгортання» додатка з трея при подвійному натисканні мишею по іконці. Для цього скористаємося подією DoubleClick класу NotifyIcon. а саме, створимо наступний його обробник:

Все що ми робимо в цьому обробнику, це показуємо форму за допомогою методу Show () і повертаємо нормальне (Normal) стан формі.

Як бачите, все досить просто і інтуїтивно. А тепер, як і обіцяв, покажу ще як додаток може нагадати про себе користувачеві за допомогою спливаючих підказок.

Все що треба зробити, це встановити заголовок такий підказки (BalloonTipTitle), її текст (BalloonTipText) і показати підказку за допомогою методу ShowBalloonTip ():

Як бачите, тут я розширив обробник події Resize, в якому тепер не тільки сворачіваеться додаток, але і показується підказка про цю подію протягом 5 секунд:

Отже, дуже простим способом, описаним в цій замітці, ми можемо домогтися згортання програми в трей а також виведення спливаючих підказок. Сподіваюся даний матеріал буде вам корисний.

Вихідні тексти простого додатка розробленого в цій статті качаємо тут.