我有一个 C# 中的气球弹出窗口(来自 notificationIcon),它可以完美地工作,除非用户监视器上有全屏应用程序,例如 Power Point 演示文稿。在这种情况下,弹出窗口根本不会显示。但是,一旦该应用程序退出或最小化(或任务栏置于前面),您就可以再次看到气球弹出窗口。
有没有办法让这个弹出窗口显示在所有窗口上?类似于表单的“最上面”设置?如果有人需要的话,我的气球代码如下。
notifyIcon1.BalloonTipText = "Issue found!";
notifyIcon1.ShowBalloonTip(5000);
谢谢!
最佳答案
由于看起来没有办法做到这一点,这就是我所做的。它就像一个自定义的气球消息,只需将表单设置为无边框,保持较小,并设置 TopMost = true 即可。您需要调整WorkingArea.Right 和WorkingArea.Bottom 以适合您的表单大小。添加了计时器以在 10 秒后自动终止表单(在我完成所有测试后会更短)我最初不想走这条路,因为我希望气球消息提供了一种方法来做到这一点 :
private void notifyUser_Load(object sender, EventArgs e)
{
var screen = Screen.FromPoint(this.Location);
this.Location = new Point(screen.WorkingArea.Right - 250, screen.WorkingArea.Bottom - 85);
}
private void timer1_Tick(object sender, EventArgs e)
{
count++;
if (count > 10)
{
count = 0;
this.Close();
}
}
对于每个担心用户不想看到它等的人来说,这个程序是专门创建的,用于监视 Windows 中的一堆其他应用程序/设置/日志,如果有错误,他们会想知道。 Power Points 实际上并不在这些计算机上运行,这只是一个例子,所以每个人都知道我的意思。稍后我会让它变得“更漂亮”。
关于所有其他应用程序上的 C# 气球通知弹出窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24151051/