Допустим есть программа которая фоном делает определенные операции, не важно какие, допустим каждые 10 секунд собирает информацию по нагрузке ЦП и RAM. Программа сама по себе десктопная, запускается ручками, надо бы сделать ее чтобы она в авторане запускалась.
Вопрос: как научить ее чтобы при сворачивании она скрывалась в трей, и при необходимости опрокидывала какие либо сообщения. Например как антивирус касперского. Висит в трее, опрокидывает уведомления, когда открываешь - появляется в панеле задач
Ответ
Я использую Hardcodet.NotifyIcon.Wpf
В XAML добавьте пространство имен: xmlns:tb="http://www.hardcodet.net/taskbar"
В контейнер окна поместите:
Для того чтобы свернуть окно в трей, подпишитесь на событие StateChanged
WindowState prevState;
private void Window_StateChanged(object sender, EventArgs e)
{
if (WindowState == WindowState.Minimized)
Hide();
else
prevState = WindowState;
}
Чтобы развернуть, например при левом клике по иконке в трее:
private void TaskbarIcon_TrayLeftMouseDown(object sender, RoutedEventArgs e)
{
Show();
WindowState = prevState;
}
Для отображения каких-либо сообщений, можно использовать, например, Popup или ToolTip
Комментариев нет:
Отправить комментарий