【发布时间】:2022-06-17 21:14:29
【问题描述】:
我的程序加载大约需要 5-10 秒,有时使用它的人最终会尝试再次打开它,这会导致问题。我找到了一种快速简便的方法来制作“启动画面”(在某种意义上),它会在执行时立即弹出一段时间。我发现 WinForm EXE 加载中的第一个事件顺序是Handle Created。答案不是真正的闪屏,而是几行可以轻松添加到项目中的代码,我想有些人会喜欢它。
【问题讨论】:
标签: vb.net winforms splash-screen
我的程序加载大约需要 5-10 秒,有时使用它的人最终会尝试再次打开它,这会导致问题。我找到了一种快速简便的方法来制作“启动画面”(在某种意义上),它会在执行时立即弹出一段时间。我发现 WinForm EXE 加载中的第一个事件顺序是Handle Created。答案不是真正的闪屏,而是几行可以轻松添加到项目中的代码,我想有些人会喜欢它。
【问题讨论】:
标签: vb.net winforms splash-screen
下面的代码将在运行 EXE 时立即显示一个 MessageBox,并在 10 秒后关闭。
Imports System.Threading
Private Sub Control1_HandleCreated(ByVal sender As Object, ByVal e As EventArgs) Handles Me.HandleCreated
Dim SplashScreen As New Thread(
Sub()
CreateObject("WScript.Shell").Popup("Program Initializing, Please Wait...",10, "Setup Tool")
End Sub)
SplashScreen.Start()
End Sub
我使用线程,以便 MessageBox 不会冻结代码,并且无论是否按下 OK 按钮,程序都会打开。执行常规MessageBox.Show() 将阻止更多代码运行,直到用户单击“我找到了”。
【讨论】: