我在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.Maximise
和FormWindowState.Normal
等,但似乎没有什么可以恢复窗口。谷歌和SO没有为我提供任何解决方案。有什么想法吗?
尝试将LoadMachine()
放在Shown
事件中以进行Simulator
。ShowDialog
代码在显示表单之前运行。
例:
private void Simulator_Shown(object sender, EventArgs e)
{
LoadMachine();
}