Winforms 为什么选择OpenFileDialog1->;ShowDialog don';不行?
我正在Visual Studio 2012 VC++Windows窗体中为一个界面工作。我使用了Winforms 为什么选择OpenFileDialog1->;ShowDialog don';不行?,winforms,visual-c++,visual-studio-2012,openfiledialog,Winforms,Visual C++,Visual Studio 2012,Openfiledialog,我正在Visual Studio 2012 VC++Windows窗体中为一个界面工作。我使用了OpenFileDialog,但我不明白为什么ShowDialog不起作用 我在界面中添加了openFileDialog1。 然后在代码中,我只写 private: System::Void Ouvrir_Click(System::Object^ sender, System::EventArgs^ e) { openFileDialog1->ShowDialog(); } 对话
OpenFileDialog
,但我不明白为什么ShowDialog
不起作用
我在界面中添加了openFileDialog1
。
然后在代码中,我只写
private: System::Void Ouvrir_Click(System::Object^ sender, System::EventArgs^ e)
{
openFileDialog1->ShowDialog();
}
对话框没有出现,并且我的界面也被阻止…由于您没有指定父项,OpenFileDialog很可能最终打开或卡在表单后面。您的界面被阻塞的经验与此理论是一致的 请尝试,将当前窗口作为父窗口传递。这将确保对话框位于窗体顶部,并且始终显示:
openFileDialog1->ShowDialog( this );
@未免太公平了。这是我以前见过的事情,所以我想我会把它作为一个答案发布。你需要在Main()函数中使用[STAThreadAttribute]属性来避免这种情况。