هذا الكود من تعديل الاخ الكريم : Taha Okla
في هذه المشاركة
ما شاء الله عليك - تبارك الرحمن - هذا ما كنت أقف بسببه
إذن خذ التحديث على الكود بعد الدمج بين الكودين
أفتح مشروع جديد وضع عليه زر واحد - والكود :
لاحظ المتغير (J) هو عدد أشرطة التمرير الذي تريده / بإمكانك وضعها بالكود نتيجة طريقة التقسيم التي تريد ..
في هذه المشاركة
ما شاء الله عليك - تبارك الرحمن - هذا ما كنت أقف بسببه
إذن خذ التحديث على الكود بعد الدمج بين الكودين
أفتح مشروع جديد وضع عليه زر واحد - والكود :
لاحظ المتغير (J) هو عدد أشرطة التمرير الذي تريده / بإمكانك وضعها بالكود نتيجة طريقة التقسيم التي تريد ..
كود :
Dim pTop As Integer = 4
Private Location_control As New Point(10, 50)
Dim i1 As Integer
Private Sub All(c As Control())
Dim pi As ProgressBar = CType(c(0), ProgressBar)
Dim l As Label = CType(c(1), Label)
For i As Integer = 1 To 100
pi.Invoke(Sub() pi.Value = i)
l.Invoke(Sub() l.Text = pi.Value)
Threading.Thread.Sleep(150)
Next
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim J As Integer = 5
Dim pProgress As ProgressBar() = New ProgressBar(J) {}
Dim lLable As Label() = New Label(J) {}
For i = 0 To J
pProgress(i) = New ProgressBar
pProgress(i).Name = "pProgressX" & i
pProgress(i).Location = New Point(Location_control.X + 10, Location_control.Y)
pProgress(i).Width = Me.Width - 100
pProgress(i).Height = 20
pProgress(i).Minimum = 0
pProgress(i).Maximum = 100
' pProgress(i).Value = 25
Location_control.Y += 10
Controls.Add(pProgress(i))
lLable(i) = New Label
lLable(i).Name = "lLableX" & i
lLable(i).Location = New Point(pProgress(i).Width + Location_control.X + 10, Location_control.Y)
lLable(i).Width = Me.Width - 30
lLable(i).Height = 20
lLable(i).Text = 0
Location_control.Y += 24
Controls.Add(lLable(i))
Next
'=========================================
Dim ths As New List(Of Threading.Thread)
Dim d As New Dictionary(Of ProgressBar, Label)
Dim pros As New List(Of ProgressBar)
Dim lbls As New List(Of Label)
For Each cl As Control In Me.Controls
Dim prog As ProgressBar = Nothing
Dim lbl As Label = Nothing
If TypeOf cl Is ProgressBar Then
prog = DirectCast(cl, ProgressBar)
pros.Add(prog)
ElseIf TypeOf cl Is Label Then
lbl = DirectCast(cl, Label)
lbls.Add(lbl)
End If
Next
For r As Integer = 0 To pros.Count - 1
d.Add(pros(r), lbls(r))
Next
For n As Integer = 0 To d.Count - 1
Dim th As Threading.Thread
th = New Threading.Thread(AddressOf All)
ths.Add(th)
Next
For h As Integer = 0 To ths.Count - 1
Dim co(2) As Control
co(0) = d.Keys(h)
co(1) = d.Values(h)
Dim t As Threading.Thread = ths(h)
t.Start(co)
Next
End Sub
اللهم إني أعوذ بك من غلبة الدين وغلبة العدو، اللهم إني أعوذ بك من جهد البلاء ومن درك الشقاء ومن سوء القضاء ومن شماتة الأعداء
اللهم اغفر لي خطيئتي وجهلي، وإسرافي في أمري وما أنت أعلم به مني، اللهم اغفر لي ما قدمت وما أخرت، وما أسررت وما أعلنت وما أنت أعلم به مني، أنت المقدم وأنت المؤخر وأنت على كل شيء قدير