03-09-17, 03:29 AM
(03-09-17, 12:56 AM)سعود كتب :(03-09-17, 12:11 AM)ابو روضة كتب :ده اللى قدرت اعمله حاجة بسيطة عارف بس ماشى الحال
جاري الاطلاع عليه
لفت انتباهي شي بالمثال
ما الداعي من هذا
![]()
كماهو مبين بالصورة؟
الصراحة ماعمري اشتغلت بـAsync ولا Delay ولا حسيت اني بحاجتها.
لكن الكود بحدث اللود غير محبذ
Control.CheckForIllegalCrossThreadCalls = False
شوف التعديل
كود :
Public Class Form1
Private Sub lbl(ByVal l As String)
If Label1.InvokeRequired Then
Label1.Invoke(New Action(Of String)(AddressOf lbl), l)
Else
Label1.Text = l
End If
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Me.ProgressBar1.Maximum = 100
If Me.BackgroundWorker1.IsBusy = False Then
BackgroundWorker1.RunWorkerAsync()
End If
End Sub
Private Sub BackgroundWorker1_DoWork(sender As Object, e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork
For i = 0 To 100
If Me.BackgroundWorker1.CancellationPending Then Exit For : Exit Sub
lbl(i)
BackgroundWorker1.ReportProgress(i)
System.Threading.Thread.Sleep(200)
Next
End Sub
Private Sub BackgroundWorker1_ProgressChanged(sender As Object, e As System.ComponentModel.ProgressChangedEventArgs) Handles BackgroundWorker1.ProgressChanged
ProgressBar1.Value = e.ProgressPercentage
End Sub
Private Sub BackgroundWorker1_RunWorkerCompleted(sender As Object, e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles BackgroundWorker1.RunWorkerCompleted
lbl("خلاص يا عم سعود ههههههه")
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
BackgroundWorker1.CancelAsync()
End Sub
End Class
المرفق معدل
تمام اخى دعك بقى من كل هذا ونرجع لموضوعنا الاساسى....
الرابط اللى قولت لك عليه جلبته لكن بالويب براوزر وانا حابب فعلا اتاعمل مع HtmlAgilityPack
لانى احببتها جدا والفضل لله اولا ثم انت

