更改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();