NotifyIcon.ShowBalloonTip не сохраняет время ожидания - PullRequest
9 голосов
/ 27 июля 2011

Я показываю информацию уведомления:

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

Он должен показывать 29 000 миллисекунд, но он исчезает менее чем за секунду.

Я понимаю, это контролируется операционной системой.Но должен ли быть способ увеличить продолжительность шоу?

Использовать windows 7.

Ответы [ 4 ]

11 голосов
/ 27 июля 2011

Из статьи MSDN о ShowBalloonTip

"Минимальные и максимальные значения времени ожидания устанавливаются операционной системой и обычно составляют 10 и 30 секунд соответственно, однако это может варьироваться в зависимости от операционной системы.слишком большие или слишком малые, отрегулированы до соответствующего минимального или максимального значения. Кроме того, если пользователь, кажется, не использует компьютер (не происходит никаких событий клавиатуры или мыши), то система не учитывает это время по отношению к тайм-ауту.. "

Вы можете прочитать обо всей функции ниже:

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

2 голосов
/ 08 августа 2011

Это зависит от настроек ОС, в каждой ОС она различна. Лучший способ - использовать самостоятельно созданный шар.

2 голосов
/ 27 июля 2011

Убедитесь, что NotifyIcon видим перед отображением всплывающей подсказки:

notifyIcon.Visible = true;
//then show the balloon tip

Кроме того, если отображаются какие-либо другие всплывающие подсказки, ваши будут игнорироваться.

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

1 голос
/ 21 апреля 2017

Я знаю, что это очень старый вопрос, на который нужно ответить сейчас, но он предназначен для использования в будущем и для тех читателей, которые столкнутся с этим вопросом.

Ну, у меня была та же проблема, что и упомянутая в вопросе в одном из моих приложений winform, а затем я наткнулся на эту Github ссылку - Уведомления Windows Toast

Да, это очень легко интегрировать в ваше приложение c # winform. Все, что вам нужно сделать, это -

  • Загрузите код по вышеуказанной ссылке Github.
  • Добавьте следующие файлы классов в ваше приложение c # winform

    FormAnimator.cs

    NativeMethods.cs

  • Добавьте форму Notifications.cs в свое приложение

  • Создайте объект формы уведомления о тосте в коде вашего проекта и вызовите Show() метод для его отображения.

Пример кода

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

//PlayNotificationSound("normal");
toastNotification.Show();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...