2011-07-27 17 views
9

pokażę zawiadomić informacje:NotifyIcon.ShowBalloonTip nie utrzymuje Timeout

notifyIcon.ShowBalloonTip(29000, "title", "message", ToolTipIcon.Info); 

Należy pokazać 29 000 milisekund, ale znika w mniej niż sekundę.

Rozumiem, że jest to kontrolowane przez system operacyjny. Ale powinien być sposób na zwiększenie czasu trwania show?

Użyj systemu Windows 7.

+1

Jakoś wydaje się, że czas oczekiwania nie działa w systemie Windows 7, prawie jak to jest zastępowane przez OS. Windows XP wydaje się respektować limit czasu. –

Odpowiedz

2

To zależy od konfiguracji systemu operacyjnego, w każdym systemie operacyjnym jest inaczej. Najlepszy sposób polega na użyciu samodzielnie utworzonego balonika.

10

Z artykułu MSDN ShowBalloonTip

„minimalne i maksymalne wartości czasu oczekiwania są wykonywane przez system operacyjny i zazwyczaj 10 i 30 sekund, odpowiednio, jednakże może różnić się w zależności od systemu operacyjnego Wartości limitu czasu, które są zbyt duże lub zbyt małe, są dostosowywane do odpowiedniej wartości minimalnej lub maksymalnej, a ponadto, jeśli użytkownik nie wydaje się korzystać z komputera (nie występują zdarzenia związane z klawiaturą lub myszą), system nie liczy tego czas na przekroczenie limitu czasu. "

Można przeczytać o całej funkcji poniżej:

http://msdn.microsoft.com/en-us/library/ms160064.aspx

+2

Przeczytałem to, dlatego wstawiłem 29000 ms (29 s) –

0

Wiem, że jest to bardzo stare pytanie, na które należy teraz odpowiedzieć, ale na przyszłość i dla tych czytelników, którzy natkną się na to pytanie.

Cóż miałem ten sam problem, jak wspomniano w pytaniu w jednym z mojej aplikacji winform i wtedy natknąłem się na ten GitHub linku - Windows Toast Notifications

Tak, to bardzo łatwo zintegrować w swojej aplikacji C# winform. Co musisz zrobić, to -

  • Pobierz kod z powyższego linku Github.
  • Dodaj następujące pliki klas do aplikacji C# winform

    FormAnimator.cs

    NativeMethods.cs

  • dodać Notifications.cs formularz do aplikacji

  • Tworzenie obiekt formularza powiadomienia toastem w kodzie twojego projektu i zadzwoń pod numer Show(), aby go wyświetlić.

Przykładowy kod

var toastNotification = new Notification 
(
    "My Notification", 
    message, 
    durationsTime, 
    FormAnimator.AnimationMethod.Slide, 
    FormAnimator.AnimationDirection.Up 
); 

//PlayNotificationSound("normal"); 
toastNotification.Show(); 
Powiązane problemy