2011-07-14 11 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スレッドで作成するほうがよいと思います。 UIスレッドで何かを実行するには、SynchronizationContextまたはControl.Invoke()を使用します。