Monorepo/EDMI_ClientSuite/frmSplash.vb
2019-01-21 16:12:19 +01:00

61 lines
2.1 KiB
VB.net

Imports System.ComponentModel
Imports System.Diagnostics
Imports System.Threading
Imports System.Globalization
Public NotInheritable Class frmSplash
Private InitSteps As Integer = 2
Private bw As New BackgroundWorker()
Private Sub frmSplash_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
lblProductName.Text = My.Application.Info.ProductName
lblCopyright.Text = My.Application.Info.Copyright
lblVersion.Text = String.Format("Version {0}", My.Application.Info.Version.ToString)
Me.BringToFront()
InitProgram()
End Sub
Private Sub InitProgram()
bw.WorkerReportsProgress = True
AddHandler bw.DoWork, AddressOf bw_DoWork
AddHandler bw.ProgressChanged, AddressOf bw_ProgressChanged
AddHandler bw.RunWorkerCompleted, AddressOf bw_RunWorkerCompleted
bw.RunWorkerAsync()
End Sub
Private Function CalcProgress(_step As Integer)
Return _step * (100 / InitSteps)
End Function
<STAThread()>
Private Sub bw_DoWork(sender As Object, e As System.ComponentModel.DoWorkEventArgs)
bw.ReportProgress(CalcProgress(1), "Connecting to service..")
Dim Init = New ClassInit()
System.Threading.Thread.Sleep(600)
bw.ReportProgress(CalcProgress(2), "Initialize User Settings")
' Init.InitUserConfig()
System.Threading.Thread.Sleep(600)
End Sub
Private Sub bw_ProgressChanged(sender As Object, e As System.ComponentModel.ProgressChangedEventArgs)
pbStatus.Value = e.ProgressPercentage
lblStatus.Text = e.UserState.ToString()
End Sub
Private Sub bw_RunWorkerCompleted(sender As Object, e As System.ComponentModel.RunWorkerCompletedEventArgs)
' Bei Fehler MsgBox anzeigen und Programm beenden
If e.Error IsNot Nothing Then
'ClassLogger.Add("Unexpected error in Initializing application....")
MsgBox(e.Error.Message, MsgBoxStyle.Critical, "Unexpected error in Initializing application")
Application.Exit()
End If
' Wenn kein Fehler, Splashscreen schließen
Me.Close()
End Sub
End Class