2010-06-04 77 views
9

我有一個窗口打開另一個窗口。我希望當這個窗口打開時,我不能在父窗口上做任何事情。 (例如,我不允許點擊按鈕) 我該怎麼做?在後臺禁用窗口

謝謝。

回答

11

你想要一個模態窗口而不是無模式窗口。模態窗口意味着在子窗口打開時父窗口不可用。

您可以使用ShowDialog打開模式窗口。

您可以打開一個只有Show的無模式窗口。

+0

@SLaks:對不起,我的意思是ShowDialog,而不是ShowModal – 2010-06-04 15:58:06

29

您需要調用ShowDialog method而不是Show將第二個窗口顯示爲模態對話框。

+1

謝謝你,正是我想要的。 – Alex 2010-06-04 15:59:33

+3

然後,您應該通過單擊空格檢查來接受此答案。 – SLaks 2010-06-04 16:12:31

0

我建議您使用MDI方案作爲子窗口和父窗口,但例如根據您可以使用的代碼如下。

NewWindow.ShowDialog() method instead of NewWindow.Show() as it will disable background window 

但這不是我們應該實施MDI的良好做法。

我從來沒有見過一個桌面應用程序在多個窗口打開並禁用較舊的應用程序。