2011-12-07 20 views
0

我試圖向當前項目添加一個按鈕,當按下該按鈕時,窗口將返回x秒,允許用戶在其他窗口中工作,並且然後自動再次走到前面。通過結合How to send a WPF window to the back?Bring a window to the front in WPF以及BackgroundWorker,我能夠完成99%的工作。按下該按鈕後,窗口將返回,並返回指定的秒數。問題是,如果我進入另一個窗口(Opera,Word等),它永遠不會從後面返回。我試着玩旗幟,但似乎無法讓它工作。這可能嗎?如果是這樣,怎麼樣?後續操作:將窗口放在WPF前面

謝謝!

+0

想要窗口顯示模態..?爲什麼你會讓窗戶背對着一段時間..?是有原因..爲什麼不設置一個布爾值,檢查ModalResult一旦你有第二個窗口,例如window.bringtofront可以檢查對.. .. //從Miscrost站點//顯示窗口模態 //注意:返回僅當窗口關閉時 可爲空 dialogResult = dialogBox.ShowDialog(); – MethodMan

+0

原因是我正在寫這個工作,這是在一個呼叫中心。我們的主要工作窗口是基於Java的Web應用程序,它們(令人討厭)的大小受限制。這意味着爲了讓我的程序具有可用的大小,它必須覆蓋我們需要的一些信息。通過使用這個按鈕,它可以讓我們隱藏程序,找到我們需要的信息,然後讓它重新彈出以準備再次使用。在某種程度上它只是一個「炫目」功能,但它也非常有用,尤其是不必從任務欄最小化/最大化窗口。 –

+0

我不知道你使用的是java/javascript,你沒有在你最初的問題中指定,..好吧,謝謝 – MethodMan

回答

0

隨着破解它是可能的。只要這樣做:

Topmost = true; 
Topmost = false; 

和窗口應該在前面。

+0

那麼基本上擺脫MoveToForeground和MoveToBackground方法?我不想採取這種方法,但如果它最終成爲唯一可能的方式,我會解決它。 :) –

+1

@KevenM:強制一個窗口在前臺沒有關注窗口的指導方針。所以這裏是唯一的,100%的工作解決方法。相信我;-) – Fischermaen

+0

任務管理器如何做到這一點(右擊正在運行的程序)?這只是MS寫入的一個異常嗎?並且無法使用該功能? –