1
當我點擊我的命令按鈕時,需要幾秒鐘才能完成可能會使最終用戶認爲程序滯後的進程,然後我想到進度條。所以如何讓進度條在進程運行的同時工作,以便用戶不會覺得該程序是滯後的,我是vb.net的新手,我現在研究安靜一段時間,仍然無法得到它的工作方式也不會如何開始。進度條與進程
感謝您的幫助提前
這是我的命令按鈕的過程。
Private Sub LoginBTN_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LoginBTN.Click
Using ClientDashboardx As New ClientDashboard
Try
cn = New ADODB.Connection
conDB()
cn.Open()
rs = New ADODB.Recordset
rs.Open("SELECT * FROM tb_registration", cn, 0, 3)
If txtuserid.Text = "" Or txtuserpass.Text = "" Then
MsgBox("Value Null")
Exit Sub
Else
Do While Not rs.EOF
Dim strLogin = txtin.Text
Dim strLogout = txtout.Text
If rs("st_acc_number").Value = txtuserid.Text And rs("st_password").Value = txtuserpass.Text And rs("st_log").Value = strLogin Then
MsgBox("Account in use")
Exit Sub
ElseIf rs("st_acc_number").Value = txtuserid.Text And rs("st_password").Value = txtuserpass.Text And rs("st_log").Value = strLogout Then
Dim strID = rs("st_acc_number").Value
Dim strUserName = rs("st_fname").Value & " " & rs("st_lname").Value
Dim strTotalTime = rs("st_totaltimeleft").Value
rs.Close()
SaveAccNumber.Text = strID
SaveUserName.Text = strUserName
SaveTotalTime.Text = strTotalTime
cn.BeginTrans()
cn.Execute("UPDATE tb_registration SET st_log='in' where st_acc_number='" & SaveAccNumber.Text & "'")
cn.CommitTrans()
cn.Close()
ClientDashboardx.id_lbl.Text = SaveAccNumber.Text
ClientDashboardx.iduser_lbl.Text = SaveUserName.Text
ClientDashboardx.UserTotalTime.Text = SaveTotalTime.Text
ClientDashboardx.AutoUpdate_Button.Enabled = True
Me.Hide()
ClientDashboardx.ShowDialog()
Me.Show()
Exit Sub
Else
rs.MoveNext()
End If
Loop
MsgBox("User/Pass Mismatch")
Exit Sub
End If
Catch ex As Exception
MsgBox("Server Offline", MsgBoxStyle.Critical, "")
End Try
End Using
End Sub
謝謝你這麼多,一個直接的指導。這會爲我節省很多時間。歡呼聲 –
我遇到了一個錯誤,在這裏 SaveAccNumber.Text = strID SaveUserName.Text = strUserName中 SaveTotalTime.Text = strTotalTime 這是錯誤的「跨線程操作無效:從一個線程訪問控制‘客戶端’而不是它創建的線程。「我該怎麼辦?這是我第一次看到這樣的錯誤。 –
您不能在不使用委託的情況下在後臺工作者內設置TextBox的Text值,因爲它在不同的線程上運行(因此出現錯誤)。在變量中設置值,然後使用這些變量填充RunWorkerCompleted事件中的文本框。 –