我正在使用Windows窗体在C#中创建应用程序,我想完全换掉Windows窗体中的所有内容并将其替换为其他内容。有没有方便的方法呢?
示例:我有一个菜单,当我点击“开始”时我希望菜单消失并开始游戏。我没有使用XNA或类似的东西,这是整个项目的重点。
答案 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();