11

我正在使用 Windows 窗体在 C# 中制作应用程序,我想完全换掉 Windows 窗体中的所有内容并将其替换为其他内容。有没有方便的方法来做到这一点?

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

4

2 回答 2

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;

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

于 2012-11-27T13:08:32.740 回答
5

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

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

然后激活需要的一个

form.Controls[i].BringToFront();
于 2014-09-30T14:43:17.067 回答