两种形式 1." SplashForm" 2." MainForm"
我想加载" MainForm" AS背景" SplashForm"处理 什么时候" SplashForm"过程结束我只想展示" MainForm"应该已经加载了代码
VB代码:
Imports System
Imports System.Threading
Public Class MultiThreading
' Global declaration
Dim mf As New MainForm
'Thread Declaration
Dim tm As New Thread(AddressOf LoadProcess)
Dim ts As New Thread(AddressOf Splashprocess)
Private Sub Epaper_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.Opacity = 0
tm.Start()
ts.Start()
End Sub
Sub LoadProcess()
mf.Show()
mf.Hide()
End Sub
Sub Splashprocess()
For i As Integer = 0 To 1000
Me.Opacity += 0.01
Next
If Me.Opacity = 1 Then
mf.Show()
Me.Hide()
End If
End Sub
End Class
答案 0 :(得分:1)
为什么不从主窗体调用SplashScreen? 您的主要表单最初应该是不可见的。加载主窗体时,您可以首先将启动画面显示为独立窗体(而不是子窗体),然后继续加载主窗体。完成所有过程后,关闭启动画面并显示主窗体。
因此,您可以避免使用自制线程。
这是一个伪代码例子:
In Main_Form class // which is invisible
{
When Main_Form is loaded
{
Show SplashScreen
Proceed on loading everything else
Hide SplashScreen
Show Main_Form
}
}