Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 更改windows窗体中的内容_C# - Fatal编程技术网

C# 更改windows窗体中的内容

C# 更改windows窗体中的内容,c#,C#,我正在使用windows窗体制作一个C#应用程序,我想完全交换windows窗体中的所有内容,并用其他内容替换它。有什么方便的方法吗 示例:我有一个菜单,当我单击“开始”时,我希望菜单消失,游戏开始。我不使用XNA或类似的东西,这是整个项目的重点。为每个要切换的独特内容集使用一个面板。隐藏除初始面板外的所有面板。创建一个变量activePanel。将activePanel设置为当前显示的面板(即初始面板) 需要切换时,请执行以下操作: activePanel.Visible = false; a

我正在使用windows窗体制作一个C#应用程序,我想完全交换windows窗体中的所有内容,并用其他内容替换它。有什么方便的方法吗


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

为每个要切换的独特内容集使用一个
面板。隐藏除初始面板外的所有面板。创建一个变量
activePanel
。将
activePanel
设置为当前显示的面板(即初始面板)

需要切换时,请执行以下操作:

activePanel.Visible = false;
activePanel = <Panel you want to open now>; //I mean the Control, not an ID or something.
activePanel.Visible = true;
activePanel.Visible=false;
活动面板=//我是说控制,不是身份证什么的。
activePanel.Visible=true;

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

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

form.Controls.AddRange(Pages.ToArray());
然后用

form.Controls[i].BringToFront();

请参阅此问题的答案:请参阅使用修改的选项卡控件的选项。