更改Windows窗体中的内容

我正在使用Windows窗体在C#中创建一个应用程序,我想完全换掉Windows窗体中的所有内容并用其他东西替换它。 有没有方便的方法呢?

示例:我有一个菜单,当我点击“开始”时我希望菜单消失并开始游戏。 我没有使用XNA或类似的东西,这是整个项目的重点。

对要切换的每个唯一内容集使用一个Panel 。 隐藏所有面板,初始面板除外。 创建变量activePanel 。 将activePanel设置为当前显示的面板(即初始一个)。

需要切换时,请执行以下操作:

 activePanel.Visible = false; activePanel = ; //I mean the Control, not an ID or something. activePanel.Visible = true; 

另一种方法是动态删除和添加控件到表单,但这样你将不得不编写更多的代码,hovewer,你的应用程序内存占用应该更少。

这适用于我:添加所有控件,如:

 form.Controls.AddRange(Pages.ToArray()); 

然后激活所需的一个

 form.Controls[i].BringToFront();