【发布时间】:2015-11-06 20:44:28
【问题描述】:
我有一个正在制作的桌面应用程序的启动画面。启动的工作方式是检查某些文件,如果找到它们会立即关闭并加载主窗体。
但是这样做我得到一个线程错误。我猜是因为启动表单在完全加载主表单之前关闭。
这是错误信息:
跨线程操作无效:控件“frm_SplashScreen”从创建它的线程以外的线程访问。
我尝试过让线程进入睡眠状态,甚至使用计时器来让表单有时间加载。但到目前为止没有成功。
Private Sub frm_Load_Load(sender As Object, e As EventArgs) Handles MyBase.Load
If Dir("System.dll") = "" then
Createfile()
Frm_Main.show()
Me.close()
Else
Frm_Main.show()
Me.close()
End IF
关于启动画面的所有其他内容都在应用程序下的项目属性中完成。否则它只是一个空表单。
我该如何解决这个问题?
【问题讨论】:
-
您是自己创建了启动画面还是使用了 Visual Studio 提供的内置模板?
-
这是 WinForms 吗?你是在项目属性中设置了项目的启动表单和启动画面,还是有其他方式?
-
我创建了它,所以我添加了一个新的窗口窗体并将其设计为看起来像一个飞溅。然后在项目属性中,我将启动画面设置为该表单。但是我已经尝试过模板,它仍然会产生同样的错误。
标签: vb.net splash-screen