20-08-13, 12:30 AM
20-08-13, 12:34 AM
كود :
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]
20-08-13, 12:47 AM
جزاك الله خيرا
انا اقصد مثلا انا واضع تكرار فى فورم 1 وبعد الوصول الى عدد معين يام تغير نص على اداة موجودة على الفورم وفى حالة ادمير هذه الاداة او حذفها تظهر رسالة خطاء
انا اقصد مثلا انا واضع تكرار فى فورم 1 وبعد الوصول الى عدد معين يام تغير نص على اداة موجودة على الفورم وفى حالة ادمير هذه الاداة او حذفها تظهر رسالة خطاء
20-08-13, 12:52 AM
كيف يعني ممكن توضح لي اكثر
20-08-13, 04:19 AM
إذا كنت تقصد أن الأداة موضوعة في مصفوفة مثل موضوع آخر لك فإن حذف أي أداة من المصفوفة سوف ينقص العدد للمصفوفة وتعرف لك من خلال Length للمصفوفة
وإذا أضفت للإداة في المصفوفة في مثالك السابق في مشاركة أخرى اسم مثل lbl(i).Name= "Label" & i تستطيع التأكد من خلال اسمها بالطريقة التالية
وإذا أضفت للإداة في المصفوفة في مثالك السابق في مشاركة أخرى اسم مثل 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
20-08-13, 06:43 AM
احببت ان أضيف معلومة في مسألة إضافة الآدوات برمجياً وهي امكانية تشابه الأسماء،
في حين أن ذلك لا يمكن من خلال إضافة الأدوات من خلال التصميم
إليك مثال:
المشكلة تواجهها عند التحكم بأداة مضافة برمجياً بواسطة الاسم وتوجد أداة أخرى بنفس الاسم،
فسيتم تطبيق التحكم في الأداة المضافة أولاً ابتداء من المضافة من خلال التصميم أولا فان لم يجدها فالمضافة برمجياُ (جرب إضافة أداة Label1 في التصميم ثم جرب بدونها)
إليك مثال:
في حين أن ذلك لا يمكن من خلال إضافة الأدوات من خلال التصميم
إليك مثال:
كود :
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
20-08-13, 04:57 PM