2014-06-10 46 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,這只是一個例子,所以每個人都知道我的意思。稍後我會變得更「漂亮」。

相關問題