我試圖在winforms中製作一個類似於asp.net中的masterpages的應用程序 - 頂部的菜單,當從菜單中選擇一個選項時,底部的整個屏幕將改變,而菜單仍然存在(有10 -15屏幕在未來的應用程序,有些非常相似,有些則沒有)。Winforms - 如何創建一個類似於母版頁的東西?
什麼是這樣做的最佳方式?我應該爲每個屏幕使用不同的表單還是使用面板或其他東西?
如果我使用面板或其他東西我該如何設法使用這麼多的面板在屏幕上佔用空間?
我試圖在winforms中製作一個類似於asp.net中的masterpages的應用程序 - 頂部的菜單,當從菜單中選擇一個選項時,底部的整個屏幕將改變,而菜單仍然存在(有10 -15屏幕在未來的應用程序,有些非常相似,有些則沒有)。Winforms - 如何創建一個類似於母版頁的東西?
什麼是這樣做的最佳方式?我應該爲每個屏幕使用不同的表單還是使用面板或其他東西?
如果我使用面板或其他東西我該如何設法使用這麼多的面板在屏幕上佔用空間?
如果只是保持UI的相同菜單和打開/關閉部分,您可以簡單地向主窗體添加和刪除usercontrols的實例。
如果你需要更多的功能,如對接(如Visual Studio)look at this
另一種選擇是use Form inheritance
哪一個選擇取決於你想重用什麼,你需要的功能。
一個選擇是讓你的應用程序成爲一個MDI窗口,然後將最大化的整個窗體加載到父窗口中。
然後,您將能夠將每個表單視爲自己的獨立項目,因爲它確實就是這樣。
這不是您使用WPF的選項嗎? WPF瀏覽器應用程序符合你描述得很好的範例。
謝謝你,你救了我的命。我跟着這[鏈接](http://www.dountsis.com/articles/dot-net/how-to-use-user-controls-to-create-mdi-winform-applications.php)看演示改變用戶界面(只需調整幾行即可) - 替換'controlName = c.GetType()。ToString();'with'controlName = c.GetType()。Name;'在ctor中添加'ucForm1.Visible = false; this.Controls.Add(ucForm1);'並刪除了行'c.Dock = DockStyle.None;'以防止閃爍的錯誤 – BornToCode