我正在C#中使用Windows窗體創建應用程序,我想完全替換Windows窗體中的所有內容並將其替換爲其他內容。有沒有方便的方法來做到這一點?在窗體中更改內容
例如:我有一個菜單,當我點擊「開始」時,我希望菜單消失並開始遊戲。我沒有使用XNA或其他類似於整個項目的觀點。
我正在C#中使用Windows窗體創建應用程序,我想完全替換Windows窗體中的所有內容並將其替換爲其他內容。有沒有方便的方法來做到這一點?在窗體中更改內容
例如:我有一個菜單,當我點擊「開始」時,我希望菜單消失並開始遊戲。我沒有使用XNA或其他類似於整個項目的觀點。
對於您要切換的每個獨特內容集,使用一個Panel
。隱藏除最初一個之外的所有面板。創建一個變量activePanel
。將activePanel
設置爲當前顯示的面板(即,最初的一個)。
當你需要切換,做到以下幾點:
activePanel.Visible = false;
activePanel = <Panel you want to open now>; //I mean the Control, not an ID or something.
activePanel.Visible = true;
另一種方法是動態地刪除和添加控件到窗體,但這樣一來,你就必須寫很多更多的代碼,hovewer,你的應用程序內存佔用應該更小。
謝謝,這應該工作。 – Jacco
這個工作對我來說:將所有的控制,如:
form.Controls.AddRange(Pages.ToArray());
然後激活需要一個與
form.Controls[i].BringToFront();
一看便知這個問題:http://stackoverflow.com/questions/297526/what-is-the-best-way-to-clear-all-controls-on-a-form -c – 03Usr
請參閱[這個答案](http://stackoverflow.com/questions/6953487/remove-hide -tab-headerswitcher-of-c-sharp-tabcontrol/6954785#6954785)它使用了一個修改後的選項卡控件。 – Lii