我在WinForms中制作简单的图形游戏,目前我希望在游戏开始时显示一个菜单。我唯一的问题是我不确定应用程序本身的结构,这是我到目前为止:
1)拥有菜单表格和游戏表格。选择新游戏时,创建游戏表单并将其停靠到菜单表单 - 我无法处理菜单表单,因为应用程序将退出。或者我可以将messageloop切换为不同的形式吗?我对此表示怀疑 2)有一些主要形式,使我能够创建和处理菜单和游戏形式 3)完全不同的方式?
答案 0 :(得分:2)
我在开发应用程序时经常使用的一种方法是使用主窗体作为视图的容器(视图为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);
}
}
请注意,这段代码可能无法正常编译,我是从脑子里写的。但它会让你大致了解这一点。