2011-07-14 67 views
-1
public void spawnVr_Monthly() { 
    vrMonthlyProcessingThread = new Thread(new ThreadStart(process_Vr_Monthly_File)); 
    vrMonthlyProcessingThread.Start(); 
} 
public void process_Vr_Monthly_File() { 
    OpenFileDialog vrmpf = new OpenFileDialog(); 
    vrmpf.AutoUpgradeEnabled = true; 
    vrmpf.Title = "Select VR Monthly Parking file to process"; 
    vrmpf.Filter = "VR Monthly Parking File (VRMTHY_OUT*.TXT|*.TXT"; 
} 
+1

你真的显示对话框吗?您显示的代码不完整。 –

+0

OpenFileDialog不能用于非STA的工作线程。有关详细信息,请参阅Thread.SetApartmentState()。无论您在该XP机器上使用哪种.NET版本,都会忘记提醒您。 –

回答

2

您的Main()函数中是否有[STAThread]属性?

我想你最好在UI线程上产生这个对话框,而不是任何背景。使用SynchronizationContext或Control.Invoke()在UI线程上运行某些内容。

相关问题