在自定义控件中要使用OpenFileDialog控件选择文件,但提示“在可以调用OLE前,必须将当前线程设置为单线程单元(sta)模式......”的错误。
原代码:
Private Sub Button1_click(......)
OpenFileDialog1.filename=""
OpenFileDialog1.Filter="数据文件(*.mdb)|*.mdb"
OpenFileDialog1.ShowDialog() '在此产生错误
End Sub
在网上查了一下,做如下修改以单线程调用,消除错误:
<stathread()> _
Private Sub Button1_click(......)
Dim s as New System.Thread(new system.threading.threadstart(addressof test))
s.setapartmentstate(apartmentstate.sta)
s.start()
End Sub
Private Sub test()
OpenFileDialog1.filename=""
OpenFileDialog1.Filter="数据文件(*.mdb)|*.mdb"
OpenFileDialog1.ShowDialog()
End Sub
问题是选择的文件名称Filename如何返回到调用程序(button1_click)中,不能把后续代码全部放到test过程中吧?
------解决方案--------------------
