c#小游戏:菜单画面,如何实现?
我正在用WinForms制作一个简单的图形游戏,目前我想在游戏开始时显示一个菜单。我唯一的问题是,我不确定应用程序本身的结构,到目前为止,这就是我所知道的: 1) 要有菜单表单和游戏表单。选择新游戏后,创建游戏表单并将其停靠到菜单表单-我无法处理菜单表单,因为应用程序将退出。或者我可以将messageloop切换到其他形式吗?我对此表示怀疑c#小游戏:菜单画面,如何实现?,c#,forms,C#,Forms,我正在用WinForms制作一个简单的图形游戏,目前我想在游戏开始时显示一个菜单。我唯一的问题是,我不确定应用程序本身的结构,到目前为止,这就是我所知道的: 1) 要有菜单表单和游戏表单。选择新游戏后,创建游戏表单并将其停靠到菜单表单-我无法处理菜单表单,因为应用程序将退出。或者我可以将messageloop切换到其他形式吗?我对此表示怀疑 2) 有一些主窗体,使我能够创建和处理菜单和游戏窗体 3) 完全不同的方式 在开发应用程序时,我经常使用的一种方法是使用主窗体作为视图的容器(视图是User
2) 有一些主窗体,使我能够创建和处理菜单和游戏窗体
3) 完全不同的方式 在开发应用程序时,我经常使用的一种方法是使用主窗体作为视图的容器(视图是
UserControl
),其中包含一个用于添加视图的面板
你能做的是:
private void SwitchView(Panel container, UserControl newView)
{
if (container.Controls.Count > 0)
{
UserControl oldView = container.Controls[0] as UserControl;
container.Controls.Remove(0);
oldView.Dispose();
}
if (newView != null)
{
newView.Dock = Dock.Fill;
// Attach events
if (newView is ...)
{
...
}
container.Controls.Add(newView);
}
}
请注意,这段代码可能无法正确编译,我是从头开始写的。但它会给你一个大致的想法,这是可以做到的