关于控件 OpenFileDialog 不能显示
方法一:
在main 程序中增加单线程特性
[STAThread] //单线程特性,有些组件要求单线程
方法二:
在一个线程中执行,同时指定 STA特性
static void ThreadMethod() {
OpenFileDialog^ dlg = gcnew OpenFileDialog();
dlg->ShowDialog();
MessageBox::Show(dlg->FileName);
}
private: System::Void button3_Click(System::Object^ sender, System::EventArgs^ e) {
ThreadStart^ threadDelegate = gcnew ThreadStart(&ThreadMethod);
Thread^ newThread = gcnew Thread(threadDelegate);
newThread->SetApartmentState(ApartmentState::STA);
newThread->Start();
}
本文介绍了两种解决OpenFileDialog控件无法正常显示的方法。方法一是在main程序中添加单线程特性;方法二是在线程中执行,并指定STA特性。通过这两种方式,可以有效解决OpenFileDialog在某些环境下不显示的问题。
2510

被折叠的 条评论
为什么被折叠?



