【问题标题】:why OpenFileDialog1->ShowDialog don't work?为什么 OpenFileDialog1->ShowDialog 不起作用?
【发布时间】:2013-10-10 09:51:47
【问题描述】:

我正在为 Visual Studio 2012 VC++ Windows 窗体中的界面工作。我使用OpenFileDialog,但我不明白为什么ShowDialog 不起作用。

我在界面中添加了openFileDialog1。 然后在代码中,我只是写了

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

对话框没有出现,我的界面也被屏蔽了……

【问题讨论】:

  • 您需要 Main() 函数上的 [STAThreadAttribute] 属性来避免这种情况。

标签: winforms visual-c++ visual-studio-2012 openfiledialog


【解决方案1】:

由于您没有指定父级,因此 OpenFileDialog 可能最终会打开或卡在您的表单后面。你对接口被阻塞的体验与这个理论是一致的。

尝试使用ShowDialog(IWin32Window^ owner) overload,将当前窗口作为父窗口传递。这将确保对话框保持在表单的顶部,并且它应该始终显示:

openFileDialog1->ShowDialog( this );

【讨论】:

  • @Weiwei 还行。这是我以前见过的事情,所以我想我会把它作为答案发布
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-07
相关资源
最近更新 更多