2014-06-03 4 views
0

Итак, я пытался разобраться, как заставить работать заставку. Когда моя программа начнется, я собираюсь добавить несколько проверок, и у меня есть индикатор выполнения, который я обновляю рядом с небольшим логотипом.Рабочий экран заставки VB.net

Моя проблема - это какой-либо код, который я вызываю в прогонах splash_load до отображения моей формы? Я добавил splashscreen из Windows Forms> Splash Screen, и я установил его в «форму запуска» в настройках моего приложения.

На данный момент я выполняю простой тест подключения к MySQL, но мой заставку пока не отображается, пока не закончит весь суб-файл?

splash.vb

Public NotInheritable Class splash 

    Private Sub splash_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 
     mysql.connectionTest() 
    End Sub 

End Class 

mysql.vb

Public Shared Sub connectionTest() 
     Using SQLConnection As New MySqlConnection(My.Settings.mtConnStr) 
      Try 
       SQLConnection.Open() 
       MessageBox.Show("Connection OK!") 
      Catch ex As Exception 
       MsgBox(ex.Message.ToString) 
       Application.Exit() 
      Finally 
       SQLConnection.Close() 
      End Try 

     End Using 
    End Sub 
+0

Вы можете идти в резьб: Dim т Как Thread т = Новая тема (AddressOf Me.connectiontest ) t.Start() –

ответ

1

Ваша проблема заключается в том, что вы вызываете connectionTest в случае нагрузки. Форма не показывается, пока это событие не будет завершено. Вы можете перенести эту строку кода в событие Splash_Shown, и она должна обрабатываться после того, как форма загружена и видна.

+0

я перенес ее в изображенном случае, но теперь я могу видеть это форма фон и текст/изображения не появляются до завершения теста на соединение. –

+0

Возможно, вам также потребуется установить connectionTest в отдельный поток или использовать DoEvents (содрогнуться). Получение формы для обновления с помощью текста/изображений и т. Д. Нелегко сделать из одного потока. Для получения информации о порядке запуска событий см. Http://msdn.microsoft.com/en-us/library/86faxx0d(v=vs.110).aspx – APrough

+0

Спасибо, что я сам решил проблему, используя потоки. –

Смежные вопросы