更改Windows窗体中的内容

时间:2012-11-27 13:04:48

标签: c#

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

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

2 个答案:

答案 0 :(得分: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;

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

答案 1 :(得分:4)

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

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

然后用

激活所需的一个
form.Controls[i].BringToFront();