从另一个线程关闭启动画面
本文关键字:启动 动画 另一个 线程 | 更新日期: 2023-09-27 18:09:13
我使用WindowsFormsApplicationBase来显示启动屏幕。现在,当创建主表单并出现错误时,应该显示一个消息框通知用户。但是,消息框显示在启动屏幕下,所以它是不可见的。我需要关闭闪屏,这样我才能与用户交互。
下面的代码将给出一个跨线程操作异常:
class SingleInstanceApplication : WindowsFormsApplicationBase
{
private static SingleInstanceApplication instance;
public static void CloseSplash()
{
if (instance.SplashScreen != null)
instance.SplashScreen.Close();
}
}
错误:Cross-thread operation not valid: Control 'Splash' accessed from a thread
other than the thread it was created on.
这可能吗??
如果你的闪屏表单命名为mySplashScreen
:
mySplashScreen.Invoke(new MethodInvoker(delegate {
mySplashScreen.Close();
mySplashScreen.Dispose();
}));
你不能从创建它们的线程以外的线程访问用户界面元素。通常可以使用Control。调用从其他线程访问UI元素