2016-06-07 84 views
1

我在WinForms應用程序中使用OpenFileDialog,我無法弄清楚如何在調用OpenFileDialog.ShowDialog()後獲得父窗體。OpenFileDialog正在儘量減少父表格

功能完全按預期工作。問題是在調用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除其他嘗試,但似乎沒有任何恢復窗口。 Google和SO都沒有爲我提供任何解決方案。有任何想法嗎?

+0

你的LoadFile但不告訴我們任何關於它的細節。我假設你分類了OpenFileDialog。 – Sorceri

+0

我將它包含在我的編輯中。 'LoadFile'是我的表單的一部分'OpenFileDialog'的名稱。 – Scott

回答

3

嘗試將LoadMachine()置於Shown事件中Simulator。在顯示窗體之前正在運行ShowDialog代碼。

例子:

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

完美,謝謝! – Scott