不同的形式不会加载

时间:2011-03-21 12:16:01

标签: c# windows-mobile compact-framework

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

MainMenu gameMenu = new MainMenu();


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

当我运行它时,模拟器出现但它只是作为默认的Windows屏幕。而且我没有得到任何表格。

2 个答案:

答案 0 :(得分:2)

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

  • 首先显示GameMenu(即Application.Run(new GameMenu)
  • 不要隐藏MainForm
  • 使用gameMenu.Show()代替ShowDialog()

答案 1 :(得分:0)

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

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