2012-09-14 34 views
0

我有一個.NET 4的WinForms應用程序。主屏幕顯示通過輪詢WCF服務或通過用戶手動輸入檢索的作業列表。屏幕對焦和誰在上面

用戶還可以查看各種形式做的工作,誰落實這些措施,施工現場等

然而,當這些形式彈出在主屏幕上,他們間歇性地消失背後。我認爲這是因爲輪詢刷新主屏幕的工作列表並將其作爲重點。

我最初通過爲所有「子」形式設置TopMost = true來解決這個問題,但是當我發現它甚至將InputDialogs發送到後面時,我開始認爲我所做的都是錯誤的。

是否有另一種方式來停止主屏幕肘擊自己的面前?我被告知不要使用MDI這個應用程序,所以它不是一個選項。

+0

你能分享您使用顯示子窗口的代碼? –

+0

刷新控件並沒有聲明重點,那麼你究竟在做什麼與輪詢結果? – Maarten

回答

0

您需要設置Child Forms Owner Property。或當您在Show當時的表格通過父母表格。

從上面的鏈接:

獨資形式也永遠不會落後於主人的形式顯示出來。您可以使用擁有的窗體來查找和替換窗口,這些窗口在選擇所有者窗體時不會消失。要確定父窗體擁有的窗體,請使用OwnedForms屬性。

+0

謝謝!表單現在顯示正常,但InputBox仍然彈出到後面。猜猜我必須寫我自己的。 – SteveCav

+0

@SteveCav您是否使用標準輸入框?如果是的話,它應該是Modal到創建表單。 –

+0

從的WinForms使用Microsoft.VisualBasic.Interaction.InputBox不是模態的,可能是因爲它被從控制器類調用。我推出了自己的產品,設置了主人和最頂層的屬性,並以此方式解決了問題。 – SteveCav