2014-06-10 119 views
0

我有一个气球弹出窗口(从notifyIcon)在C#中完美工作,除非在用户监视器上有一个全屏应用程序,如Powerpoint演示文稿。在这种情况下,弹出窗口根本不显示。但是,一旦该应用程序退出或最小化(或任务栏处于最前面),您可以再次看到气球弹出窗口。C#气球通知弹出所有其他应用程序

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

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

谢谢!

+7

也许做Power Point演示的人不想看到你的气球... – LarsTech

+0

一切都可以完成,但你不应该尝试。它违背了UI标准。 - ATTN:反对使窗户看起来不好的做法的用户。 – celerno

+0

您使用哪种UI技术? 'Winforms'? –

回答

0

由于看起来没有办法做到这一点,所以我做了这些。它就像一个自定义的气球消息,只需设置没有边框的窗体,将其保持为小,并设置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中很多其他的应用程序/设置/日志,如果有错误,他们会想知道。这些电脑并没有真正运行Powerpoint,这只是一个例子,所以每个人都知道我的意思。稍后我会变得更“漂亮”。

相关问题