所有其他应用程序上的 C# 气球通知弹出窗口

标签 c# .net c#-4.0

我有一个 C# 中的气球弹出窗口(来自 notificationIcon),它可以完美地工作,除非用户监视器上有全屏应用程序,例如 Power Point 演示文稿。在这种情况下,弹出窗口根本不会显示。但是,一旦该应用程序退出或最小化(或任务栏置于前面),您就可以再次看到气球弹出窗口。

有没有办法让这个弹出窗口显示在所有窗口上?类似于表单的“最上面”设置?如果有人需要的话,我的气球代码如下。

notifyIcon1.BalloonTipText = "Issue found!";
notifyIcon1.ShowBalloonTip(5000);

谢谢!

最佳答案

由于看起来没有办法做到这一点,这就是我所做的。它就像一个自定义的气球消息,只需将表单设置为无边框,保持较小,并设置 TopMost = true 即可。您需要调整WorkingArea.Right 和WorkingArea.Bottom 以适合您的表单大小。添加了计时器以在 10 秒后自动终止表单(在我完成所有测试后会更短)我最初不想走这条路,因为我希望气球消息提供了一种方法来做到这一点 enter image description here :

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/

相关文章:

c# - 反序列化使得字段是一个空列表而不是 null

c# - 将字符串解析为 LINQ 查询

asp.net-mvc - Asp .Net MVC Viewmodel 应该是类还是结构?

C# LINQ 将列表和字典合并到新字典中

c# - System.Linq.Dynamic.DynamicExpression 用方法解析表达式

c# - Entity Framework 存储过程表值参数

c# - "Access to path denied"- 在不同网站但在同一服务器上创建目录

c# - 如何将分隔的字符串拆分()为 List<String>

c# - .net 从哪里开始

wpf - 依赖属性如何保持值(value)