تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
(تم الحل) مشكلة مع تغيير نص الأداة
#1
بسم الله الرحمن الرحيم


السلام عليكم ورحمة الله وبركاته

معي مشكلة مع تغيير نص الأداة ، كلما أحاول أن أقوم بتغيير نص الزر قبل إجراء مهمة لا يقوم الفيجوال بتغيرر الزر لا أدري لماذا
مثال
كود :
Public Class Form1
    Dim s(1000000) As String

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Button1.Text = "Please wait"

        For i As Integer = 0 To UBound(s)
            s(i) = i
        Next
        Button1.Text = "Button1"
        MsgBox("DONE")
    End Sub
End Class

بينما إذا قمت بتغييره بدون أكواد بأسفل نص التغغير يتغير النص
الرد }}}
تم الشكر بواسطة:
#2
أخي الكريم
السبب في عدم ظهور النص هو انشغال البرنامج داخل الحلقة التكرارية ( ما شاء الله مليون Rolleyes )
فالحل هو وضع الجملة التالية إما بعد جملة تغيير نص الأداة مباشرة إذا كنت لا تحتاج إلى تنفيذ أحداث أخرى بعد ذلك إلى نهاية الحلقة
أو داخل الحلقة التكرارية
ولكن سيتأخر البرنامج في هذه الحالة لأنه ومع كل مرة يمر فيها بهذه الجملة سيقوم بفحص ما إذا هناك أحداث جديدة
هذا هو الكود
كود :
Application.DoEvents()
الرد }}}
تم الشكر بواسطة:
#3
شكرا لك أخي sooriaty03
إقتباس :إما بعد جملة تغيير نص الأداة مباشرة إذا كنت لا تحتاج إلى تنفيذ أحداث أخرى بعد ذلك إلى نهاية الحلقة
ماذا تقصد أخي بهذه الجملة أنا كتبت Application.DoEvents() بعد جملة تغيير نص الأداة فتغير النص ولم تأثر على أي من الأكواد
فلو سمحت هل من الممكن أن تشرح لنا جملة Application.DoEvents() لأني أول مره أستخدمها
الرد }}}
تم الشكر بواسطة:
#4
هذا الأمر هو طلب إلى البرنامج بالقيام بأي أمر يطلب منه حتى أثناء انشغاله بتنفيذ أوامر أخرى
كما في برنامجك
فأنت طلبت تغيير نص الزر ثم طلبت إلى البرنامج بعمل حلقة تكرارية لمليون مرة فلم يظهر النص الذي غيرته لانشغال البرنامج داخل الحلقة
وهنا يأتي دور الأمر الذي أخبرتك به حيث سيقوم البرنامج بالانتظار حتى يتم تنفيذ جميع ما طلب منه ثم يتابع
والأفضل في كل حلقة تكرارية طويلة تقوم بوضع الكود حتي يبقى لدى البرنامج القدرة على الاستجابة لأي أوامر أخرى


بالتوفيق
الرد }}}
تم الشكر بواسطة:



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


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم