c++.net 控件 OpenFileDialog 不能显示

本文介绍了两种解决OpenFileDialog控件无法正常显示的方法。方法一是在main程序中添加单线程特性;方法二是在线程中执行,并指定STA特性。通过这两种方式,可以有效解决OpenFileDialog在某些环境下不显示的问题。

关于控件 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();
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值