更改Windows窗体中的内容

Jac*_*cco 10 c#

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

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

J0H*_*0HN 8

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;
Run Code Online (Sandbox Code Playgroud)

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


小智 5

这对我有用:添加所有控件,例如:

form.Controls.AddRange(Pages.ToArray());
Run Code Online (Sandbox Code Playgroud)

然后激活需要的

form.Controls[i].BringToFront();
Run Code Online (Sandbox Code Playgroud)