我在OpenFileDialog
应用程序中使用WinForms
,我无法知道如何在调用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.Maximise
和FormWindowState.Normal
等等,但似乎没有什么可以恢复窗口。 Google和SO对我没有任何解决方案。有什么想法吗?
答案 0 :(得分:3)
尝试将LoadMachine()
放入Shown
的{{1}}事件中。在显示表单之前运行Simulator
代码。
示例:
ShowDialog