我正在一个非 UI 线程上,需要创建并显示 SaveDialog。但是当我尝试调用 ShowDialog() 方法时,出现如下异常:
"An unhandled exception of type 'System.Threading.ThreadStateException' occurred in System.Windows.Forms.dll" 我没有在 UI 上创建任何对象,那么我如何在 UI 线程上调用此 SaveDialog?是否有全局的 UI SynchronizationContext 可以使用?
编辑:如果我有一个窗体/控件对象来调用 invoke/begininvoke,或者在 UI 线程上使用 SynchronizationContext.Current 引用,则知道如何执行此操作。但是我没有任何这些东西。
"An unhandled exception of type 'System.Threading.ThreadStateException' occurred in System.Windows.Forms.dll" 我没有在 UI 上创建任何对象,那么我如何在 UI 线程上调用此 SaveDialog?是否有全局的 UI SynchronizationContext 可以使用?
编辑:如果我有一个窗体/控件对象来调用 invoke/begininvoke,或者在 UI 线程上使用 SynchronizationContext.Current 引用,则知道如何执行此操作。但是我没有任何这些东西。
async
和await
关键字进行异步编程,如果您正在使用.NET 4.0或4.5。(http://msdn.microsoft.com/en-us/library/vstudio/hh191443.aspx) - feO2x