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