الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

طريقة تحديث ال ( TextBox )

بدأه ترختومي في 31 يوليو 2010 · 10 رد · 711 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

ارجو المساعدة من الخبراء في هذا الموقع المميز

(فورم )يحتوي عدد من (التكست بوكس) يستقبل قيم ولكن هذه القيم متغيرة بستمرار

المشكلة : ان ( التكست بوكس ) يستقبل فقط اول قيمة

السؤال : كيف اجعل ( التكست بوكس ) يعمل تحديث عند تغير القيمة المسندة اليه (ما هو الحدث المناسب في هذه الحالة)

توضيح :

الكود يستقبل بيانات من جهاز خارجي عن طريق الـ Bluetooth

القيم المستقبلة من هذا الجهاز يعمل لها تحديث كل 3 ثواني وبالطبع يحدث تغيير في القيم ولكن لا يظهر هذا التغيير في الـ TextBox ( فقط تظهر اول قيمة مستقبلة من هذا الجهاز )

اريد حل لهذه المشكلة بحيث عندما يحدث تحديث للقيم يحدث في نفس الوقت تغيير داخل الـ TextBox

ارجو ان تكون الفكرة واضحة

#2

اتمنى ترفق الكود

لتوضيح الفكره وتعم الفائده

You CAN

#3
Private Sub skt_ObjectReceived(ByVal Sender As rtaUDPSocketLibrary.rtaUDPSocket, ByVal e As rtaUDPSocketLibrary.ObjectReceivedEventArgs) Handles skt.ObjectReceived


        Dim frm As New DataFormHost

        Select Case e.Command

            Case "Latitude"
                Latitude = e.Object.ToString

                frm.Label1.Text = Latitude
            Case "Longitude"
                Longitude = e.Object.ToString

                frm.Label4.Text = Longitude
            Case "Altitude"
                Altitude = e.Object.ToString

                frm.Label8.Text = Altitude
            Case "speed"
                speed = e.Object.ToString

                frm.Label9.Text = speed
            Case "Direction"
                Direction = e.Object.ToString

                frm.Label10.Text = Direction
            Case "Bye"
                Me.Close()
        End Select

    End Sub

هنا يتم الاستقبال و اسناد القيم الى الفورم الذي يحتوي ( TextBox او Label )

تم تعديل هذه المشاركة بواسطة ترختومي في 31 يوليو 2010 في 17:40

#4

اول شيء تعرف متغير من نوع Integer ، وتحدد الـ Interval للـ Timer :

Dim x as integer 

Timer1.Interval=1000

ممكن تستخدم timer و تضع فيه شرط مثل كذا : ( هذا الكود داخل الحدث Tick للـ Timer )

x=x+1

if x mod 3 = 0 then

form1_load(sender,e)

endif

طبعا

بكذا بيكون كل 3 ثواني يستدعي حدث تحميل الفورم ، وتتغير النصوص كما هو مطلوب ،،

بالتوفيق ،،

#5

بعد ما شفت الكود ، استبدل :

form1_load(sender,e)

بـ :

skt_ObjectReceived(sender , e )

تم تعديل هذه المشاركة بواسطة ProFesOr-xP في 31 يوليو 2010 في 17:45

#6
ProFesOr-xP كتب:



اول شيء تعرف متغير من نوع Integer  ، وتحدد الـ Interval للـ Timer :


Dim x as integer 

Timer1.Interval=1000

ممكن تستخدم timer و تضع فيه شرط مثل كذا : ( هذا الكود داخل الحدث Tick للـ Timer )

x=x+1

if x mod 3 = 0 then

form1_load(sender,e)

endif

طبعا

بكذا بيكون كل 3 ثواني يستدعي حدث تحميل الفورم ، وتتغير النصوص كما هو مطلوب ،،

بالتوفيق ،،

هل هذه الطريقة هي نفس طريقة

fr.Close()


        fr.Show()
#7

اخي العزيز هذا الكود هو بنفسه يعمل وليس بحاجه الى timer اي ان الحدث يحدث عندما يكون هناك حالة Received اي انه سوف يتكرر كل 3 تواني

#8
ProFesOr-xP كتب:

skt_ObjectReceived(sender , e )

هذه الطريقة افضل واخف على الجهاز ، طريقتك تقوم باغلاق الفورم ثم تحميلها من جديد ..

الطريقة التي وضعتها لك اسرع بكثير ولا تقوم باغلاق البرنامج ابدا ، تحدث صناديق النص والبرنامج شغال ،،

بالتوفيق ،،

ترختومي كتب:

اخي العزيز هذا الكود هو بنفسه يعمل وليس بحاجه الى timer اي ان الحدث يحدث عندما يكون هناك حالة Received اي انه سوف يتكرر كل 3 تواني

اها ، انت لم تبين لي ان الجهاز يقوم بالمطلوب كل 3 ثواني ، اعتقدت انك تريد من البرنامج القيام بذلك ،،

طيب الكود بطريقته الحالية يجب ان يعمل ، لانه يستدعى عند كل استقبال ، اي انه عند كل 3 ثواني يتم تحديث صناديق النص ، وهذا هو المطلوب ،،

ايضا قم بتجربة :

me.refresh()

اتمنى اكون افدتك ، انا طالع الحين ، بالتوفيق ،،

#9

اشكرك اخي الفاضل على تفاعلك معي

اعتقد اني سوف اقوم بتجربة الحل الاول الذي طرحته

لكن ما هو Timer1.Interval=1000

كيف اعملها؟

#10

اضف Timer من ToolBox ،،

اضف الكود السابق في الحدث Load للفورم ،،

#11

اشكر يا اخي على فكرة الـtimer مع بعض التعدلات وصلت الى الحل المناسب

حقيقة اني استفدت من معلوماتك الجميلة

شكرا جزيلا

مواضيع مشابهة