我刚刚开始在Visual Studio中使用C#构建一个简单的游戏(这是我的第一个低难度游戏)。当我打开它时,它会显示一个背景图像和2个按钮,“播放”和“指令”,我希望表单在点击播放按钮后打开一个新的菜单界面,如:“Game Difficulty /角色出现“(这两个是按钮),以及一个新的背景图像。当我点击其中一个,另一个菜单等。 我可以为我创建多个设计(Form1.cs [Design1/2/3])并在它们之间交换?如果没有,那我该怎么做类似的事情呢?这是可能创建许多表单设计并在它们之间交换?
-1
A
回答
0
在我看来,最简单的方法是将每个菜单设置为主窗体大小的“用户控件”,然后您可以添加用户控件,以随时随地显示哪个菜单沿。
例如,在解决方案资源管理器中,我将创建一个文件夹并将其命名为“菜单”。然后我会在那里创建一个新的“用户控制”。复制将要放置的窗体的宽度和高度,并将其应用于新控件。然后你可以添加你喜欢的所有按钮和图像。完成后,在主窗体中,您可以添加您在设计器中制作的“主菜单”控件。对于您想要的任何子菜单,也可以为它们创建用户控件。然后,如果您想要显示子菜单,请捕获所需按钮的单击事件,并使用FindForm()以编程方式将其添加到父窗体中。
假装DifficultyScreenControl是单击位于我的主菜单用户控件中的播放按钮后出现的屏幕。
里面的菜单的用户控制的
private void PlayButton_Click(object sender, EventArgs e)
{
DifficultyScreenControl DiffScr = new DifficultyScreen();
this.FindForm().Controls.Add(DiffScr);
}
此外,它是取自一个好主意,或者Dispose()方法或删除这些屏幕的一个,他们不能再重新审视,因为它可以腾出资源由他们。
随时问我问题或评论改变的事情!
+0
谢谢,迄今为止,这有助于我从我的代码中获得最佳结果!有什么方法可以阻止我在DiffScr出现之前使用的按钮?我的意思是PLAY和INSTRUCTION按钮,我希望它们被禁用,直到我回到主菜单。我试图设置它们中的每一个都不可见,我可以禁用它们吗,所以它们在我的其他菜单中不运行? – Ncs
相关问题
- 1. 使用多个表单并在它们之间传递信息
- 2. 如何创建MultiSever并创建它们之间的链接
- 3. 创建三个孩子并在它们之间连接管道
- 4. 在Tiptip中创建并提交表单
- 5. 如何在它们之间创建空间?
- 6. Rails - 自动表单提交设计登录,undefined方法`许可'
- 7. 创建很多类并能够引用它们
- 8. Java - 创建多个对象并使它们可区分
- 9. 在TreeView中创建文件夹节点,并在它们之间移动节点
- 10. Rails - 动态创建表单域并保存它们
- 11. 如何在Rails中创建一个包含许多可能操作的表单?
- 12. 我们可以使用reportlab创建交互式PDF表单吗?
- 13. 让用户加入多个联盟(组)并在它们之间切换
- 14. 在字符串之间匹配多个数字,处理它们并替换
- 15. 在页面之间传递多个变量并使用它们
- 16. 如何获得这两个表单域以填充它们之间的空间
- 17. 是否有版本控制系统允许我们管理多个并行版本的代码并在运行时在它们之间切换?
- 18. 创建表单$发布并提交它sumbit用户ID
- 19. jQuery创建并动态提交表单
- 20. cakephp查找多个图像并显示它们(可能在webroot之外?)
- 21. 如何创建日期/时间并在SQL中比较它们?
- 22. 在Python中的菜单之间交换
- 23. 创建许多新的实例与重用它们?
- 24. Rails创建表单提交多次
- 25. 如何在数字和代表它们的单词之间进行转换?
- 26. 是否可以在两个excel表单之间设置外键?
- 27. 在Android中创建配置文件并提交表单提交
- 28. 如何创建div系列并让它们可供jquery在一段时间后修改它们?
- 29. Yii2如何动态创建模型并指定它们之间的关系?
- 30. 创建表单(无窗体设计器)
Hello Ncs。欢迎来到StackOverflow。你能和我们分享你到目前为止所尝试过的吗?什么工作?什么没有?帮助我们,帮助你。你有没有考虑查阅MDI和/或Modal表格?请告诉我们您研究的路径,以便我们可以帮助您进行搜索。 – Forty3
我试图创建新表单并在它们之间进行交换,这不是我所希望的。我只想让屏幕变得更改,并且应用程序可以在单个窗体上运行,而不会出现任何其他窗体 – Ncs