Wyskakujące powiadomienia w aplikacji w Visual C#

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:

Wygląd powiadomienia

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

Pozdrawiam

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *