2013-10-03 411 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够了。这是我以前见过的事情,所以我想我会把它作为答案 –