我刚刚开始使用c#在Visual Studio中构建一个简单的游戏(这是我的第一个低难度游戏)。当我打开它时,它会向我显示一个背景图像和2个按钮," Play"和"说明。"我希望在单击播放按钮并打开新的菜单界面时更改表单,如:"游戏难度/角色外观"(那些是按钮),带有新的背景图像。当我点击其中一个,另一个菜单等。 我可以为我创建多个设计(Form1.cs [Design1 / 2/3])并在它们之间进行交换吗?如果没有,那我该怎样做类似的事呢?
答案 0 :(得分:0)
在我看来,最简单的方法是将每个菜单设置为主要表单大小的“用户控件”,然后您可以为要显示的任何菜单添加用户控件。
例如,在解决方案资源管理器中,我将创建一个文件夹并将其命名为“菜单”。然后我会在那里创建一个新的“用户控件”。复制将放置的表单的宽度和高度,并将其应用于新控件。然后,您可以添加所有您喜欢的按钮和图像。完成后,在主窗体中,您可以添加在设计器中创建的“主菜单”控件。对于您想要的任何子菜单,也可以为它们创建用户控件。然后,如果要显示子菜单,请捕获所需按钮的单击事件,然后使用FindForm()以编程方式将其添加到父窗体。
假设我单击主菜单用户控件中的播放按钮后出现DifficultyScreenControl屏幕。
菜单用户控件
内部private void PlayButton_Click(object sender, EventArgs e)
{
DifficultyScreenControl DiffScr = new DifficultyScreen();
this.FindForm().Controls.Add(DiffScr);
}
同样最好是Dispose()或删除这些屏幕,因为它可以释放他们所占用的资源。
随时向我提问或评论要改变的事情!