OpenFileDialog 正在最小化父表单

OpenFileDialog is minimising parent form

我在 WinForms 应用程序中使用 OpenFileDialog,我不知道如何在调用 OpenFileDialog.ShowDialog().

后显示父表单

该功能完全按预期运行。问题是在调用 OpenFileDialog 之后,表单保持最小化到系统托盘,如果不从托盘手动打开 window,我无法让它显示在原来的位置。

构造函数

 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 等,但似乎无法恢复 window。 Google 和 SO 没有为我提供任何解决方案。有什么想法吗?

尝试将 LoadMachine() 放入 SimulatorShown 事件中。 ShowDialog 代码在显示表单之前 运行。

示例:

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