NotifyIcon“出现”(没有任何图标)在隐藏图标托盘中,但实际上并未显示或播放任何声音

问题描述 投票:0回答:1
if (r)
{
    NotifyIcon notification = createNotification(t, ":!: ALERT :!:",SystemIcons.Exclamation);
    // Display for 5 seconds.
    notification.ShowBalloonTip(5000);
    LastSentNotification = notification.BalloonTipText;

    // This will let the balloon close after it's 5 second timeout
    // for demonstration purposes. Comment this out to see what happens
    // when dispose is called while a balloon is still visible.
    Thread.Sleep(10000);

    // The notification should be disposed when you don't need it anymore,
    // but doing so will immediately close the balloon if it's visible.
    notification.Dispose();
}

这是我负责显示气球通知的代码的一部分。以前还好好的,突然就不行了。

我实际上可以看到它正在发送通知,因为在隐藏的托盘图标中,有一个不可见的图标,该图标会在 5 秒内消失,只有在我构建程序并运行它时才会出现,这证明这是通知。

但是,Windows 根本不显示通知。它不会出现在屏幕上,也不会播放任何声音。我确实有一个错误,它会不断发送通知,也许当我疯狂地单击发送通知时,我以某种方式关闭了程序的通知。

这是我的 createNotification 函数:

private NotifyIcon createNotification(string text, string title,Icon icon)

{
    var notification = new NotifyIcon()
    {
        Visible = true,
        Icon = icon,
        BalloonTipTitle = title,
        BalloonTipText = text,
    };


    return notification;
}
c# push-notification windows-10
1个回答
0
投票

您正在休眠本应处于活动状态以显示通知的线程。一旦它醒来,您就立即处理通知。所以它永远没有时间正确地展示自己。

删除这两行:

Thread.Sleep(10000);

notification.Dispose();
© www.soinside.com 2019 - 2024. All rights reserved.