تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
التاكد من ان الاداة تم رسمها على الفورم
#1
السلام عليكم ورحمة الله وبركاته
لو عملت صب يرسم 100 اداة على الفورم فسيتنهى الصب قبل رسم جميع الادوات على الفورم اريد كود يتحقق من رسم جميع الاوات المطلوبه او يتحقق من رسم اداة معينه وانها تم اضافتها على الفورم والانتهاء منها
الرد }}}
تم الشكر بواسطة:
#2
ali.alfoly كتب :السلام عليكم ورحمة الله وبركاته
لو عملت صب يرسم 100 اداة على الفورم فسيتنهى الصب قبل رسم جميع الادوات على الفورم اريد كود يتحقق من رسم جميع الاوات المطلوبه او يتحقق من رسم اداة معينه وانها تم اضافتها على الفورم والانتهاء منها

كيف يتنهى الصب قبل رسم جميع الادوات، ما فهمتها؟
الرد }}}
تم الشكر بواسطة:
#3
اعمل تكرار خليه ينشئ 100 ليبل مثلا ويضعهم على الفورم ثم اخر التكرار يظهر رسالة تم
ستجد ان الرسالة ستظهر قبل اتمام ظهور ال 100 ليبل
الرد }}}
تم الشكر بواسطة:
#4
فعلآ كلامك صحيح

كود :
Dim lbl(100) As Label
        Dim n As Short = 0
        For i As Short = 0 To 100
            lbl(i) = New Label
            lbl(i).Text = "Label" & i
            lbl(i).Visible = True
            lbl(i).Location = New Point(i + 10, i + 10)
            Me.Controls.Add(lbl(i))
            n = i
        Next
        MsgBox("تم اضافة " & n & "اداة")
الرد }}}
تم الشكر بواسطة:
#5
فعلا حاجة غريبة جدا
الرد }}}
تم الشكر بواسطة:
#6
السلام عليكم ورحمة الله وبركاته

طيب أخي جرب الكود التالي

كود :
[COLOR="#000000"]
    [/COLOR][color=#0000FF]Private Sub [/color][color=#000000]Button1_Click([/color][color=#0000FF]ByVal [/color][color=#000000]sender [/color][color=#0000FF]As [/color][color=#000000]System.[/color][color=#2B91AF]Object[/color][color=#000000], [/color][color=#0000FF]ByVal [/color][color=#000000]e [/color][color=#0000FF]As [/color][color=#000000]System.[/color][color=#2B91AF]EventArgs[/color][color=#000000]) [/color][color=#0000FF]Handles [/color][COLOR="#000000"]Button1.Click
        [/COLOR][color=#0000FF]Dim [/color][color=#000000]lbl(100) [/color][color=#0000FF]As [/color][COLOR="#2B91AF"]Label
        [/COLOR][color=#0000FF]Dim [/color][color=#000000]n [/color][color=#0000FF]As Short [/color][COLOR="#000000"]= 0
        [/COLOR][color=#0000FF]For [/color][color=#000000]i [/color][color=#0000FF]As Short [/color][color=#000000]= 0 [/color][color=#0000FF]To [/color][COLOR="#000000"]100
            lbl(i) = [/COLOR][color=#0000FF]New [/color][COLOR="#2B91AF"]Label
            [/COLOR][color=#000000]lbl(i).Text = [/color][color=#A31515]"Label" [/color][COLOR="#000000"]& i
            lbl(i).Visible = [/COLOR][COLOR="#0000FF"]True
            [/COLOR][color=#000000]lbl(i).Location = [/color][color=#0000FF]New [/color][color=#2B91AF]Point[/color][COLOR="#000000"](i + 10, i * 10)
            [/COLOR][color=#0000FF]Me[/color][COLOR="#000000"].Controls.Add(lbl(i))
            lbl(i).BringToFront()
            n = i
            [/COLOR][color=#2B91AF]Application[/color][COLOR="#000000"].DoEvents()
        [/COLOR][COLOR="#0000FF"]Next
        [/COLOR][color=#000000]MsgBox([/color][color=#A31515]"تم اضافة " [/color][color=#000000]& n & [/color][color=#A31515]"اداة"[/color][COLOR="#000000"])
    [/COLOR][COLOR="#0000FF"]End Sub
[/COLOR]
الرد }}}
تم الشكر بواسطة:
#7
لاادري لكن عندي تظهر بالشكل الصحيح جرب استخدام هذا الكود ربما كانت المشكله انك تقوم باضافته كل ال label فوق بعضها:
كود :
Dim lbl(100) As Label
        Dim n As Short = 0
        For i As Short = 0 To 100
            lbl(i) = New Label
            lbl(i).Text = "Label" & i
            lbl(i).Visible = True
            lbl(i).Location = New Point(i * lbl(i).Width, 10)
            Me.Controls.Add(lbl(i))
            n = i
        Next
        MsgBox("تم اضافة " & n & "اداة")
كود :
Dim lbl(100) As Label
        Dim n As Short = 0
        For i As Short = 0 To 100
            lbl(i) = New Label
            lbl(i).Text = "Label" & i
            lbl(i).Visible = True
            lbl(i).Location = New Point(100, i * lbl(i).Height)
            Me.Controls.Add(lbl(i))
            n = i
        Next
        MsgBox("تم اضافة " & n & "اداة")
الرد }}}
تم الشكر بواسطة:
#8
الحل بسيط
اضف Me.Refresh() بعد كود اضافة الاداة للفورم

كود :
Dim lbl(100) As Label
        Dim n As Short = 0
        For i As Short = 0 To 100
            lbl(i) = New Label
            lbl(i).Text = "Label" & i
            lbl(i).Visible = True
            lbl(i).Location = New Point(i + 10, i + 10)
            Me.Controls.Add(lbl(i))
            [color=#FF0000]Me.Refresh()[/color]
            n = i
        Next
        MsgBox("تم اضافة " & n & "اداة")
الرد }}}
تم الشكر بواسطة:
#9
sooriaty03 كتب :السلام عليكم ورحمة الله وبركاته

طيب أخي جرب الكود التالي

كود :
[COLOR="#000000"]
    [/COLOR][color=#0000FF]Private Sub [/color][color=#000000]Button1_Click([/color][color=#0000FF]ByVal [/color][color=#000000]sender [/color][color=#0000FF]As [/color][color=#000000]System.[/color][color=#2B91AF]Object[/color][color=#000000], [/color][color=#0000FF]ByVal [/color][color=#000000]e [/color][color=#0000FF]As [/color][color=#000000]System.[/color][color=#2B91AF]EventArgs[/color][color=#000000]) [/color][color=#0000FF]Handles [/color][COLOR="#000000"]Button1.Click
        [/COLOR][color=#0000FF]Dim [/color][color=#000000]lbl(100) [/color][color=#0000FF]As [/color][COLOR="#2B91AF"]Label
        [/COLOR][color=#0000FF]Dim [/color][color=#000000]n [/color][color=#0000FF]As Short [/color][COLOR="#000000"]= 0
        [/COLOR][color=#0000FF]For [/color][color=#000000]i [/color][color=#0000FF]As Short [/color][color=#000000]= 0 [/color][color=#0000FF]To [/color][COLOR="#000000"]100
            lbl(i) = [/COLOR][color=#0000FF]New [/color][COLOR="#2B91AF"]Label
            [/COLOR][color=#000000]lbl(i).Text = [/color][color=#A31515]"Label" [/color][COLOR="#000000"]& i
            lbl(i).Visible = [/COLOR][COLOR="#0000FF"]True
            [/COLOR][color=#000000]lbl(i).Location = [/color][color=#0000FF]New [/color][color=#2B91AF]Point[/color][COLOR="#000000"](i + 10, i * 10)
            [/COLOR][color=#0000FF]Me[/color][COLOR="#000000"].Controls.Add(lbl(i))
            lbl(i).BringToFront()
            n = i
            [/COLOR][color=#2B91AF]Application[/color][COLOR="#000000"].DoEvents()
        [/COLOR][COLOR="#0000FF"]Next
        [/COLOR][color=#000000]MsgBox([/color][color=#A31515]"تم اضافة " [/color][color=#000000]& n & [/color][color=#A31515]"اداة"[/color][COLOR="#000000"])
    [/COLOR][COLOR="#0000FF"]End Sub
[/COLOR]

ما شاء الله , اسأل الله ان يزيدك من علمه جزاك الله خيرآ
الرد }}}
تم الشكر بواسطة:
#10
طريقة ترتيب الإضافة أن اللأداة المضافة تأتي تحت الأولى، لهذا لم تراها ولكنها موجودة،

والموضوع ما يحتاج Me.Refresh ولا Application.DoEvents لأنها أداة أي Object وليست رسماً

ضع أمر lbl(i).BringToFront بعد الإضافة لتجعلها فوق الأدوات لتراها،
ومن باب الزيادة غير لون خلفية الأداة المضافة lbl(i).BackColor بلون مختلف عن لون خلفية الفورم.

من غير المعقول أن ينتهي الصب قبل إجراء حلقة التكرار، لأن تنفيذ البرمجة هو منطقي أي حسب تستسل الأمر،
مسألة تعدد المهام باستخدام Threading بشكلل الخاص أو باستخدام BackgroundWorker شيء آخر.
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  مشكلة في عرض الفورم بالحجم المحدد مصمم هاوي 1 244 29-09-25, 03:17 AM
آخر رد: مصمم هاوي
  [VB.NET] حفظ تنسيق الفورم ثم تطبيقة علي فورم اخر فيجوال بيسك abo ragab 7 1,199 09-07-25, 12:45 AM
آخر رد: abo ragab
  إغلاق الفورم مع حذف جميع البيانات الموجودة به صالح عبدالله 10 1,031 19-04-25, 08:54 PM
آخر رد: Kamil
  كيف يمكن تحريك الفورم بأستخدام زر heem1986 2 586 30-03-25, 01:58 AM
آخر رد: heem1986
  [سؤال] تغيير الفورم الرئيسي عند تشغيل البرنامج في Visual Studio مع .NET 8؟ silverlord 2 648 09-03-25, 03:52 AM
آخر رد: silverlord
  ماهو سبب اغلاق الفورم صالح عبدالله 2 511 26-02-25, 02:40 PM
آخر رد: صالح عبدالله
  استفسار عن تنسيق الفورم في حالة تغيرالفورم من وضع العادي الي التكبير fireswored1 4 822 22-01-25, 09:04 PM
آخر رد: fireswored1
  تأخر فتح الفورم بالبنال لمدة طويلة F.H.M 1 347 13-11-24, 08:27 AM
آخر رد: F.H.M
  لماذا يتغير حجم الفورم تلقائي عند فتح الاتصال بقاعدة البيانات؟ ABDULLAH HASSAN 4 515 24-09-24, 03:57 AM
آخر رد: Taha Okla
  الفورم تظهر خلف الصورة العيدروس 2 489 18-05-24, 01:53 AM
آخر رد: العيدروس

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


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