السلام عليكم
لدي إستفسار بسيط
كيف يمكنني تغيير اسم Button موجودة في UserControl وذلك عبر كتابة الكود في UserControl آخر
فما ألاحظه هو عدم ظهور أدوات UserControl عند استدعائها من UserControl آخر
الموضع سهل بس حاول ترفع مثال بسيط للتعديل عليه
أنت لم تشر إلى الاسم الموجود في الفورم والذي عادة تنتهي بترقيم
يعني لو كان اليوزركنترول المصمم اسمه UserControl_vente
فعند وضع نسخه منه على الفورم سيكون اسمه UserControl_vente
1 لاحظ رقم واحد (إذا كان أول واحد موضوع في الفورم)
فعليه يكون التعامل مثل
PHP كود :
UserControl_vente1.Button1.Text = "إبدأ"
شكرا أخي الوادي
لكن والله ليس الأمر كما شرحت
أضن أني لم أفلح في توصيل الفكرة
أنا أريد عمل مثل Form1.Button1.text = Hello
لكن مع Usercontrol وليس Form
هذا مثال بسيط
ما هو نفس الشي.
مو انت تقصد هذا
PHP كود :
Panel1.Controls.Clear()
Dim frm As New UserControl1
frm.Button1.Text = "Hello"
Panel1.Controls.Add(frm)
Panel1.Visible = True
نعم أخي هذا ما أقصد
لكن هذا الكود أستخدمه للنداء على UserControl داخل Panel
هل يمكنني استخدام هذا الجزأ فقط
Dim frm As New UserControl1
frm.Button1.Text = "Hello"
لأني أريد إرسال قيمة فقط
وليس إضهار ‘UserControl بالكامل
عندما تتخاطب مع اي كائن من خارج الوحدة التي هو فيها انتبه لمحدد الوصول الذي على اساسه عرف الكائن
اغلب الكائنات يتم تعريفها بالمحدد Friend لذلك عند تعريف نسخة جديدة من الوحدة الحاوية لهذا الكائن يمكنك الوصول اليه
اما لتصل اليه مباشرة بدون تعريف نسخة جديدة من الوحدة غيره الى Public
شكرا أخي على التوضيح
لكن حتى بعد تغيير إلى Public لم أستطع الوصول إلى أدوات UserControl من مكان آخر
ويبقى الحل هو عمل تخزين للقيمة التي أريدها في متغير عام
ثم النداء عليه مرة أخرى
dim x as string = button1.text
textbox1.text = x
اذا اني فهمتك صح
PHP كود :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Panel1.Controls.Clear()
Dim frm As New UserControl1
Panel1.Controls.Add(frm)
Panel1.Visible = True
frm.Button1.Text = "Hello"
End Sub
الفكرة صحيحة أخي
لكن هل يمكن عملها بين ال Usercontrol