منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : التحقق من وجود الاداة واتها لم تحذف
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم ورحمة الله وبركاته
اريد اتحقق ان ليبل1 مثلا مازال موجود على الفورم ام تم حذفه
كود :
For Each ctrl As Control In Me.Controls
            If ctrl.ToString.Contains("Label1") Then
                MsgBox("موجود")
                MsgBox(ctrl.ToString)
            End If
        Next

[COLOR="#000080"]وضعت لك MsgBox(ctrl.ToString) حتى تفهم مقصدي من الاسم
موفق
[/COLOR]
جزاك الله خيرا
انا اقصد مثلا انا واضع تكرار فى فورم 1 وبعد الوصول الى عدد معين يام تغير نص على اداة موجودة على الفورم وفى حالة ادمير هذه الاداة او حذفها تظهر رسالة خطاء
كيف يعني ممكن توضح لي اكثر
إذا كنت تقصد أن الأداة موضوعة في مصفوفة مثل موضوع آخر لك فإن حذف أي أداة من المصفوفة سوف ينقص العدد للمصفوفة وتعرف لك من خلال Length للمصفوفة

وإذا أضفت للإداة في المصفوفة في مثالك السابق في مشاركة أخرى اسم مثل lbl(i).Name= "Label" & i تستطيع التأكد من خلال اسمها بالطريقة التالية
كود :
If Me.Controls("Label999") Is Nothing Then
    MsgBox("الأداة غير موجودة")
End If

If Me.Controls("Label55") IsNot Nothing Then
    MsgBox("الأداة موجودة")
End If




' أو
If Me.Controls("Label55") IsNot Nothing Then
    MsgBox("الأداة موجودة")
Else
    MsgBox("الأداة غير موجودة")
End If
احببت ان أضيف معلومة في مسألة إضافة الآدوات برمجياً وهي امكانية تشابه الأسماء،
في حين أن ذلك لا يمكن من خلال إضافة الأدوات من خلال التصميم
إليك مثال:
كود :
Dim lbl1 As New Label
Dim lbl2 As New Label

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    lbl1.[color=#FF0000]Name[/color] = "[color=#FF0000]Label1[/color]"
    lbl1.Text = "lbl1"
    lbl1.Location = New Point(150, 30)
    lbl1.ForeColor = Color.Blue
    Me.Controls.Add(lbl1)

    lbl2.[color=#FF0000]Name[/color] = "[color=#FF0000]Label1[/color]"
    lbl2.Text = "lbl2"
    lbl2.Location = New Point(150, 50)
    lbl2.ForeColor = Color.Green
    Me.Controls.Add(lbl2)
End Sub

المشكلة تواجهها عند التحكم بأداة مضافة برمجياً بواسطة الاسم وتوجد أداة أخرى بنفس الاسم،
فسيتم تطبيق التحكم في الأداة المضافة أولاً ابتداء من المضافة من خلال التصميم أولا فان لم يجدها فالمضافة برمجياُ (جرب إضافة أداة Label1 في التصميم ثم جرب بدونها)
إليك مثال:
كود :
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    Me.Controls("[color=#FF0000]Label1[/color]").Location = New Point(150, 100)

End Sub
اخوانى MSDOS
جزاكم الله خيرا وججعله فى موازين حسناتكم
استفدت اكثر مما كنت اريد
شكرا لتعاونكم معى
والله كل يوم ازداد حبل لكم ولاعضاء هذا المنتدى