Pisząc aplikację, czasami jest konieczność aby informować użytkownika o pewnych zdarzeniach w przypadku gdy aplikacja jest zminimalizowana, bądź gdy chcemy zwrócić szczególną uwagę użytkownika na pewne zachowanie. W tym celu stosuje się powiadomienia (czasem zwane notyfikacje – brzmi bardzo urzędowo 😉 ), które pojawiają się przeważnie w prawym dolnym rogu ekranu nad paskiem zadań.
Utworzenie kodu, który będzie powodował pojawianie się takich powiadomień nie jest trudne i stosuje się gotowe narzędzia/kontrolki dostępne w Visual’u.
W pierwszej kolejności, należy umieścić kontrolkę notifyIcon w naszym programie. W tym celu należy w przyborników, w drzewie kontrolek wybrać typowe kontrolki, a następnie odszukać NotifyIcon i przenieść do naszej formatki. Następnie konfigurujemy odpowiednio naszą kontrolkę. We właściwościach możemy ustawić tytuł, oraz tekst ( BalloonTipTitle, BalloonTipText) wyświetlany w powiadomieniu. W kategorii „Wygląd” można również wybrać ikonę ( BalloonTipIcon), jaka będzie wyświetlana przy powiadomieniu (czy to ma być znak informacji, błędu, czy ostrzeżenia), oraz ikonę (icon), jaka będzie wyświetlana w pasku tray. Tutaj warto wspomnieć, że ikona ta najlepiej jak znajduje się w katalogu naszego rozwiązania. Wszystkie te właściwości można zmieniać również z poziomu kodu.
Natomiast w właściwościach zdarzeń, można dodać blok funkcji który będzie wywoływany w przypadku kliknięcia, czy to na powiadomienie, czy na ikonę w pasku tray. Tam zajmiemy się jednak innym razem.
Wywołanie powiadomienia dokonujemy poprzez wykonanie następującego kodu. Do tej metody przekazujemy czas w ms opóźnienia pojawienia się powiadomienia.
notifyIcon1.ShowBalloonTip(100);
Można również dokonać konfigurację informacji zawartych w powiadomieniu w kodzie programu, wykorzystując odniesienie do właściwości komponentu notifyIcon. Poniżej przedstawiam przykład z autorskiego programu Com detect gdzie wywoływane jest powiadomienie w momencie wykrycia nowego urządzenia – serial port.
//informacja o nowym urządzeniu
if (index_new >= 0)
{
notifyIcon1.BalloonTipTitle = "Podłączono nowe urządzenie";
notifyIcon1.BalloonTipText = "-> " + ports[index_new];
notifyIcon1.ShowBalloonTip(100);
}
Po prawidłowym wyniku warunku, wykonywany jest kod, który w pierwszych dwóch linijkach ustawia tytuł, a następnie tekst który jest wyświetlany w powiadomieniu. Następnie powiadomienie jest „wywoływane”. Tak to wygląda:

W następnym wpisie umieszczę jak minimalizować program do traya, z ukryciem ikony w dolnym pasku. Do tego celu wykorzystamy poznane dzisiaj notifyicon.
Pozdrawiam