标签:
public class Invoker { public OpenFileDialog InvokeDialog; private Thread InvokeThread; private DialogResult InvokeResult; public Invoker() { InvokeDialog = new OpenFileDialog(); InvokeThread = new Thread(new ThreadStart(InvokeMethod)); InvokeThread.SetApartmentState(ApartmentState.STA); InvokeResult = DialogResult.None; } public DialogResult Invoke() { InvokeThread.Start(); InvokeThread.Join(); return InvokeResult; } private void InvokeMethod() { InvokeResult = InvokeDialog.ShowDialog(); } }
在可以调用 OLE 之前,必须将当前线程设置为单线程单元(STA)模式
标签:
原文地址:http://www.cnblogs.com/Eric-Hwang/p/4643492.html