OpenFileDialog正在最小化父窗体



我在WinForms应用程序中使用OpenFileDialog,但我无法弄清楚如何在调用OpenFileDialog.ShowDialog()后显示父表单。

该功能完全按预期工作。问题是在调用OpenFileDialog后,表单将最小化到系统托盘,如果不从托盘手动打开窗口,我无法让它显示在原始位置。

构造 函数

 public Simulator()
 {
     InitializeComponent();
     LoadMachine();
     ...
 }

封闭方式

private void LoadMachine()
{
    ...        
    //LoadFile is the OpenFileDialog
    LoadFile.InitialDirectory = Application.StartupPath;
    if (LoadFile.ShowDialog() != DialogResult.OK) return;
    else
    {
        //some file IO stuff here
    }
}

我尝试使用this.Focus()this.BringToFront()FormWindowState.MaximiseFormWindowState.Normal等,但似乎没有什么可以恢复窗口。谷歌和SO没有为我提供任何解决方案。有什么想法吗?

尝试将LoadMachine()放在Shown事件中以进行SimulatorShowDialog代码在显示表单之前运行。

例:

    private void Simulator_Shown(object sender, EventArgs e)
    {
        LoadMachine();
    }

最新更新