我需要在另一个线程上创建一个表单,就像应用程序启动时的闪屏界面一样。
这个方法现在可以使用,但是要停止它,我必须调用
据我理解:
LoadingMyForm w = null;
Thread thread = new Thread(() =>
{
try
{
w = new LoadingMyForm();
w.Show();
System.Windows.Threading.Dispatcher.Run();
}
catch (Exception ex)
{
w.Close();
w = null;
}
});
thread.SetApartmentState(ApartmentState.STA);
thread.Start();
这个方法现在可以使用,但是要停止它,我必须调用
thread.Abort();
,这将引发一个异常,当我捕获到该异常时,正如你所看到的,我关闭了窗口。是否有一种机制可以回到线程执行上下文并仅调用表单上的Close
方法呢?据我理解:
System.Windows.Threading.Dispatcher.Run();
保持我的线程活跃,那么,是否可能将其他操作分配给在此线程上运行?