2009-10-16 44 views
1

在我的應用程序(C#,Windows窗體)中,我有一個電話信息屏幕:如果有來電,顯示一個包含給調用者的附加信息的窗口。將窗口保留在前景中(即使失去焦點)

此窗口應該在前臺打開,即使用戶在另一個窗口中書寫(因此用戶仍然可以看到有關來電的信息),該窗口應該保持在那裏。

首先我已經使用了BringToFront - 但是在任何情況下(例如,當主應用程序不在前臺時),這並不起作用。

現在我正在使用BringToFront和user32.dll函數BringWindowToTop - >它的工作原理,但是如果窗口失去焦點,它會在後臺運行。

如何實現此行爲?

+1

和雷蒙德陳喜歡指出:有時你不能。如果兩個程序這樣做會怎麼樣? – MSalters 2009-10-16 09:01:46

+0

好的報價 - 但相當有點過度使用。 – bernhardrusch 2009-10-19 06:16:12

回答

10

我想你想設置你的形式TopMost

yourForm.TopMost = true; 
+0

TopMost:獲取或設置一個值,該值指示窗口是否出現在最頂端的z順序中。所以不要這樣,當你想讓表格在失去焦點時保持在最前面。 – tzup 2009-10-16 06:57:56

+1

@tzup:把一個小樣本項目放在一起並試用一下。你在驚喜... – 2009-10-16 06:59:37

+0

現在就這樣做:) ... – tzup 2009-10-16 07:00:27