تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
ماهو حل تعليق الفورم اثناء تنفيذ دوال التكرار
#2
استخدم مسار مستقل للعد multithreading
لو تريد الكيفية اكتب رد


كود :
Public Class Form1
   Dim i As Integer = 0
   Private Sub l(ByVal t As String)
       If lbl.InvokeRequired Then
           lbl.Invoke(New Action(Of String)(AddressOf l), t)
       Else
           lbl.Text = t
       End If
   End Sub
   Private Sub pp(ByVal t As Integer)
       If lbl.InvokeRequired Then
           p.Invoke(New Action(Of Integer)(AddressOf pp), t)
       Else
           p.Value = t
       End If
   End Sub



   Private Sub bb_DoWork(sender As Object, e As System.ComponentModel.DoWorkEventArgs) Handles bb.DoWork
       Do Until i = 1000 Or bb.CancellationPending = True
           i += 1
           Threading.Thread.Sleep(500)
           l(i)
           bb.ReportProgress(i)
       Loop
   End Sub

   Private Sub btnstart_Click(sender As Object, e As EventArgs) Handles btnstart.Click
       If bb.IsBusy = False Then
           bb.RunWorkerAsync()
       End If
   End Sub

   Private Sub bb_ProgressChanged(sender As Object, e As System.ComponentModel.ProgressChangedEventArgs) Handles bb.ProgressChanged
       pp(e.ProgressPercentage)
   End Sub

   Private Sub btnstop_Click(sender As Object, e As EventArgs) Handles btnstop.Click
       bb.CancelAsync()
   End Sub
End Class

فيه تعديل بسيط في الكلاس وهو تحديد قيمة اعلى لـ progressbar

كود :
Public Class Form1
    Dim i As Integer = 0
    Dim ii As Integer = 1000
    Private Sub l(ByVal t As String)
        If lbl.InvokeRequired Then
            lbl.Invoke(New Action(Of String)(AddressOf l), t)
        Else
            lbl.Text = t
        End If
    End Sub
    Private Sub pp(ByVal t As Integer)
        If lbl.InvokeRequired Then
            p.Invoke(New Action(Of Integer)(AddressOf pp), t)
        Else
            p.Value = t
        End If
    End Sub



    Private Sub bb_DoWork(sender As Object, e As System.ComponentModel.DoWorkEventArgs) Handles bb.DoWork
        Do Until i = ii Or bb.CancellationPending = True
            i += 1
            Threading.Thread.Sleep(500)
            l(i)
            bb.ReportProgress(i)
        Loop
    End Sub

    Private Sub btnstart_Click(sender As Object, e As EventArgs) Handles btnstart.Click
        If bb.IsBusy = False Then
            p.Maximum = ii
            bb.RunWorkerAsync()
        End If
    End Sub

    Private Sub bb_ProgressChanged(sender As Object, e As System.ComponentModel.ProgressChangedEventArgs) Handles bb.ProgressChanged
        pp(e.ProgressPercentage)
    End Sub

    Private Sub btnstop_Click(sender As Object, e As EventArgs) Handles btnstop.Click
        bb.CancelAsync()
    End Sub
End Class


الملفات المرفقة
.zip   For_silverlord.zip (الحجم : 36.76 ك ب / التحميلات : 61)
اللهم إني أعوذ بك من غلبة الدين وغلبة العدو، اللهم إني أعوذ بك من جهد البلاء ومن درك الشقاء ومن سوء القضاء ومن شماتة الأعداء
اللهم اغفر لي خطيئتي وجهلي، وإسرافي في أمري وما أنت أعلم به مني، اللهم اغفر لي ما قدمت وما أخرت، وما أسررت وما أعلنت وما أنت أعلم به مني، أنت المقدم وأنت المؤخر وأنت على كل شيء قدير
الرد }}}
تم الشكر بواسطة: silverlord , kslawy , dasktop


الردود في هذا الموضوع
RE: ماهو حل تعليق الفورم اثناء تنفيذ دوال التكرار - بواسطة سعود - 01-11-14, 08:37 PM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  مشكلة في عرض الفورم بالحجم المحدد مصمم هاوي 1 248 29-09-25, 03:17 AM
آخر رد: مصمم هاوي
  [VB.NET] حفظ تنسيق الفورم ثم تطبيقة علي فورم اخر فيجوال بيسك abo ragab 7 1,215 09-07-25, 12:45 AM
آخر رد: abo ragab
  إغلاق الفورم مع حذف جميع البيانات الموجودة به صالح عبدالله 10 1,040 19-04-25, 08:54 PM
آخر رد: Kamil
  كيف يمكن تحريك الفورم بأستخدام زر heem1986 2 587 30-03-25, 01:58 AM
آخر رد: heem1986
  [سؤال] تغيير الفورم الرئيسي عند تشغيل البرنامج في Visual Studio مع .NET 8؟ silverlord 2 651 09-03-25, 03:52 AM
آخر رد: silverlord
  ماهو سبب اغلاق الفورم صالح عبدالله 2 513 26-02-25, 02:40 PM
آخر رد: صالح عبدالله
  استفسار عن تنسيق الفورم في حالة تغيرالفورم من وضع العادي الي التكبير fireswored1 4 823 22-01-25, 09:04 PM
آخر رد: fireswored1
  تنفيذ السكريبت لانشاء قاعدة بيانات محمد خيري 2 372 30-11-24, 01:17 AM
آخر رد: محمد خيري
  تأخر فتح الفورم بالبنال لمدة طويلة F.H.M 1 350 13-11-24, 08:27 AM
آخر رد: F.H.M
  مشكلة ارفاق قاعدة البيانات sql في المشروع اثناء التحزيم 0 257 10-10-24, 03:28 PM
آخر رد: محمد العامر

التنقل السريع :


يقوم بقرائة الموضوع: