1
我在更新用戶界面時遇到了問題,我不能爲我的生活弄清楚爲什麼,因爲我遵循在線示例。任何一個人都可以指向正確的方向嗎?wpf線程更新用戶界面
Private Sub btnLogIn_Click()
Dim u As String = tbxUser.Text
Dim p As String = tbxPassword.Password
Dim taskAuth = Tasks.Task(Of Boolean).Factory.StartNew(Function() auth_Login(u, p))
taskAuth.Wait()
Dim is_user As Boolean = taskAuth.Result
If is_user = False Then
Dim shake As Storyboard = DirectCast(FindResource("Shake"), Storyboard)
shake.Begin()
tbxUser.Focus()
ElseIf is_user = True Then
If chbxRemember.IsChecked Then
My.Settings.name_User = u
My.Settings.Save()
Else
My.Settings.name_User = String.Empty
My.Settings.Save()
End If
Dim myFrame As Frame = myWindow.MainFrame
myFrame.Navigate(New mainMenu())
End If
End Sub
Function auth_Login(u As String, p As String)
Dispatcher.BeginInvoke(Sub() myWindow.Cursor = Cursors.AppStarting)
Dispatcher.BeginInvoke(Sub() progBar.IsIndeterminate = True)
Dim is_user As Boolean = False
Try
Dim login As New COGENT_Model.Security_Model
is_user = login.check_user(u, p)
Catch
'99% db connection error
Dim myFrame As Frame = myWindow.MainFrame
Dispatcher.BeginInvoke(Sub() myFrame.Navigate(New mainConexion()))
End Try
Dispatcher.BeginInvoke(Sub() myWindow.Cursor = Cursors.Arrow)
Dispatcher.BeginInvoke(Sub() progBar.IsIndeterminate = False)
Return is_user
End Function
主要問題是在函數中,因爲我想知道用戶是否存在。雖然這是檢查,我想要一個進度欄運行。
原來如此!我有Wait()在那裏等待線程檢查用戶的存在。 – user3524375 2014-09-06 15:50:43