C# 不加载不同的窗体

C# 不加载不同的窗体,c#,windows-mobile,compact-framework,C#,Windows Mobile,Compact Framework,我正在用c#制作一个移动6应用程序。我在项目中创建了另一个windows窗体。这是我要首先加载的表单。这就是我们所尝试的: MainMenu gameMenu = new MainMenu(); private void MainForm_Load(object sender, EventArgs e) { this.Hide(); gameMenu.ShowDialog(); ..... } 当我运行这个程序时,emulator会出现,但它

我正在用c#制作一个移动6应用程序。我在项目中创建了另一个windows窗体。这是我要首先加载的表单。这就是我们所尝试的:

MainMenu gameMenu = new MainMenu();


    private void MainForm_Load(object sender, EventArgs e)
    {
        this.Hide();
        gameMenu.ShowDialog();
.....
}

当我运行这个程序时,emulator会出现,但它只是停留在默认的windows屏幕上。我没有得到任何表单。

GameMenu的父级是MainForm,它现在是隐藏的,因此对话框将不可见。您需要调整逻辑以执行以下操作之一:

  • 首先显示游戏菜单(即
    应用程序。运行(新游戏菜单)
  • 不要隐藏主窗体
  • 使用
    gameMenu.Show()
    而不是
    ShowDialog()

您可能需要删除此.Hide()或使用gameMenu.Show()而不是gameMenu.ShowDialog(),或者您可能需要同时执行这两项操作

如果必须使用gameMenu.Show()而不是gameMenu.ShowDialog(),您可能还需要执行以下操作: 订阅MainForm的GotFocus事件,并在另一个窗体无意中获得焦点时再次调用gameMenu.Show()。如果要防止在游戏菜单显示时意外与MainForm交互,请在显示游戏菜单时将MainForm的Enabled属性设置为false