2013-10-03 412 views
2

我正在爲Visual Studio 2012 VC++ Windows窗體中的接口工作。我使用OpenFileDialog,但我不明白爲什麼ShowDialog不起作用。爲什麼OpenFileDialog1-> ShowDialog不起作用?

我在我的界面中添加了openFileDialog1。 然後在代碼中,我只是寫

private: System::Void Ouvrir_Click(System::Object^ sender, System::EventArgs^ e) 
{ 
    openFileDialog1->ShowDialog(); 
} 

對話框沒有出現,我的接口也受阻......

+0

您需要Main()函數的[STAThreadAttribute]屬性來避免這種情況。 –

回答

0

的打開文件對話框可能最終打開或卡住背後您的形式,因爲你沒有指定父母。你的界面被阻塞的經驗與這個理論是一致的。

嘗試使用ShowDialog(IWin32Window^ owner) overload,將當前窗口作爲父項傳遞。這將確保對話框保持在您的表單上,並且它應該始終顯示:

openFileDialog1->ShowDialog(this); 
+0

你的方法沒有工作...我的程序和以前一樣... – Weiwei

+0

@Weiwei夠了。這是我以前見過的事情,所以我想我會把它作爲答案 –