2011-03-29 195 views
1

我有一個winform主窗體,並需要以圖像形式顯示此窗體中的子窗體。黑色部分是面板&將包含一個沒有。具有多個節點的LinkLabels和Treeview。在部分的其餘部分中,當面板上的鏈接標籤被點擊時,我想顯示子窗體。使用winforms,mdi,父母和子窗體,在父窗體下的指定空間中打開子窗體

子窗體應該完全適合剩餘空間,即不包含面板覆蓋的空間。

請幫我拿出代碼,如何在左邊的空格中填入新的表格。

另外,我想問一下,我應該使用面板還是有一些其他的控制,可以在這裏更有效率或更好。 另外,MAINFORM是否需要成爲MdiContainer? Diagram

回答

1

我不得不對停靠,以填補剩餘的空間權的用戶控制界面,每一個鏈接被點擊我想填充控制接口設計用於連接特定的控制時間標籤的內容。這樣你就可以忘記任何與MDI有關的東西,至少對我來說,這將是一個很好的選擇。

稍微詳細一點,更簡單一些,基本上每次單擊左側的鏈接時,都會創建一個用戶控件,顯示該鏈接的相關內容並將其顯示在右側,並停靠到主窗體填滿屏幕。

然後,當點擊另一個鏈接時,右側的這個控件被刪除,新的一個被加載。閱讀關於創建用戶控件的內容,並瞭解您對此方法的看法。

這裏有一個鏈接,讓你開始:Creating and using Windows Forms Control Library (User Control) in C#.net

到窗體分割成多個段,看看在Splitter control

+0

先生,請您幫我解決用戶控制界面問題。也就是說,我必須通過轉到「項目」菜單然後添加用戶控件來添加它,這是您正在討論的用戶控件嗎? – sqlchild 2011-03-29 12:48:55

+0

是的,它可以通過進入項目菜單添加相同的內容,但是很多內容都必須在代碼中完成。我會更詳細地更新我的答案 – w69rdy 2011-03-29 13:33:32

+0

先生,請提及代碼也會有很大的幫助?你還沒有告訴正在使用的面板,我是否可以使用它? – sqlchild 2011-03-29 13:48:06

1

的WinForms已經自動執行此操作。您不必編寫任何代碼,只需在設計器中將Panel控件的Dock屬性設置爲Left即可。黑暗的MDI客戶區自動縮小以佔據剩餘的空間。您創建的任何MDI子窗口都不會與面板重疊,它們被限制在MDI客戶端區域。

相關問題