سلام،
اگه از VB 8 استفاده میکنید این کار رو هم میتونید بکنید:
یک Textbox به نام TextBox1
یک Button به نام BtnLoad
یک ProgressBar به نام ProgressBar1
را روی صفحه بچینید.
و یک BackGroundWorker را روی صفحه درگ کنید.
و از این کدها استفاده کنید:
Dim str As String = ""
Private Sub btnLoad_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLoad.Click
btnLoad.Enabled = False
Dim count As Int32 = Int32.MaxValue
TextBox1.MaxLength = count
TextBox1.Multiline = True
TextBox1.ReadOnly = True
TextBox1.Text = "Loading..."
BackgroundWorker1.WorkerReportsProgress = True
BackgroundWorker1.RunWorkerAsync(TextBox1.Text)
End Sub
Private Sub BackgroundWorker1_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork
For i As Int32 = 0 To 10000
BackgroundWorker1.ReportProgress(i \ 100)
str &= "*"
Next
End Sub
Private Sub BackgroundWorker1_ProgressChanged(ByVal sender As Object, ByVal e As System.ComponentModel.ProgressChangedEventArgs) Handles BackgroundWorker1.ProgressChanged
ProgressBar1.Value = e.ProgressPercentage
End Sub
Private Sub BackgroundWorker1_RunWorkerCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles BackgroundWorker1.RunWorkerCompleted
TextBox1.Text = str
TextBox1.ReadOnly = False
MsgBox("Compelete!")
End Sub
البته این خط هم مقدار نسبتاً زیادی زمان لازم دارد:
TextBox1.Text = str
اگر راهی پیدا کردید به ما هم بگوئید!