2013-08-25 74 views
0

我有一個父按鈕,並在按鈕的單擊事件時,我想要打開一個新的窗體。在父窗體中打開窗體 - 不是在c#中的單獨屏幕

Form2 form2= new Form2(); 
form2.Show(); 

但是,form2作爲一個單獨的進程打開。我想要在父窗體內打開窗體。

雖然Google搜索,我發現,MDI已被棄用。那麼你能否給我建議一個好方法?

+4

'MDI'被棄用,取而代之的WPF'的',如果你使用'winforms','MDI'仍然是有用的。然而'MDI'的風格其實很古老。 –

+1

如何將'form2'創建爲*作爲單獨的過程*並不十分清楚。你真的是這個意思嗎? – avo

+0

@KingKing:我正在使用winforms.So如何使用MDI? – Mothy

回答

2
Form f = new Form(); 
f.TopLevel = false; 
f.Visible = true; 
Controls.Add(f); 

enter image description here

+0

我已經嘗試了上面的代碼,窗體被添加爲控件,而不是主要形式 – Mothy

+0

@Mothy內的窗口,我不明白你的意思。有什麼區別? – ispiro

+0

表2(子)內Form1中(父),如MDI。 – Mothy

3

雖然Google搜索,我發現,MDI被棄用

這就像馬克·吐溫的名言:「我死亡的報道已經被大大誇大了。」 MDI內置於Windows中,許多舊程序依賴於它。它已經存在了25年,並且不會很快消失。

程序員喜歡隨意宣佈的東西時,他們不喜歡的一個功能棄用。當然,沒有人會用MDI來打擊。 WPF沒有實現它並不會使其被棄用,這將使shell通知圖標也被棄用,他們當然還活着。 MDI是一個窗口模型,它是爲了處理25年前用戶的顯示器而發明的。而640×480顯示器不會留下很多空間。尋找讓重疊窗口易於管理的方法是其主要目標。

它沒有多大意義,仍然使用它在我們今天所擁有的巨大的顯示器。對接佈局更明智。 Visual Studio就是一個很好的例子。如果你不想自己創建一個圖書館,你需要購買一個支持它的圖書館。濰坊羅的DockPanelSuite非常受歡迎,價格合適。

相關問題