تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
كيف يتم أستدعاء UserContrlols
#1
السـلام عليكم روحمة الله وبركاته 

عندي فورم رئيسية أستقبل فيها اليوزر كنترول داخلها 
ولكن واجهتني مشكله وهي عند أستدعاء UserControl1  تظهر بلا مشكله

 ولكن عند أستدعاء UserControl2 من داخل UserControl1  لعرضها في الفورز الرئيسي يرفض 
مرفق لكم مثال أتمنى اللي عنده حل لا يبخل علينا 

 
.rar   WindowsApplication2.rar (الحجم : 76.44 ك ب / التحميلات : 8)
الرد
تم الشكر بواسطة:
#2
اذا انا فهمت المطلوب
بالفورم الاول زر امر وبانل
PHP كود :
 Dim u1 As New UserControl1
        Me
.Panel1.Controls.Clear()
 
       Me.Panel1.Controls.Add(u1

باليوزر كونترول1 زر امر

PHP كود :
    Dim u1 As New UserControl2
        Form1
.Panel1.Controls.Clear()
 
       Form1.Panel1.Controls.Add(u1
الرد
تم الشكر بواسطة: معاند الحظ , معاند الحظ , DOX.1
#3
وعليك السلام ورحمة الله وبركاته

اخي الكريم بالاضافة الى ماذكره الاخ سعود مشكورا توجد طرق اخرى


منها ان تقوم بالتصريح عن UserControl1  و UserControl2  كـ Public في قسم التصاريح العامة التابع للفورم
مثال:

كود :
Public Class Form1
    Public user1 As New UserControl1
    Public user2 As New UserControl2

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

        Panel1.Controls.Clear()
        Panel1.Controls.Add(user1)
        user1.Dock = DockStyle.Fill

    End Sub

ثم عدل الكود الموجود في  UserControl1 ليكون كما يلي:


كود :
Public Class UserControl1

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

        Form1.Panel1.Controls.Clear()
        Form1.Panel1.Controls.Add(Form1.user2)
        'Form1.user1.Dock = DockStyle.Fill

    End Sub
End Class

وفي الـ UserControl2 


كود :
Public Class UserControl2

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Form1.Panel1.Controls.Clear()
        Form1.Panel1.Controls.Add(Form1.user1)
        ' او يمكنك استدعاء حدث الضغط على الزر الموجود في فورم 1
        'Form1.Button1.PerformClick()
    End Sub
End Class


كما توجد طريقة اخرى وهي ان تقوم بوضع كلا العنصرين داخل Form1.Panel بحيث يكون الـ UserControl2 في الاسفل وفوقه UserControl1


استبدل الكود الموجود في فورم 1 بالتالي

كود :
Public Class Form1
    Public user1 As New UserControl1
    Public user2 As New UserControl2

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

        Panel1.Controls.Clear()
        Panel1.Controls.Add(user1)
        Panel1.Controls.Add(user2)
        user1.Dock = DockStyle.Fill

    End Sub
End Class


استبدل كود الضغط على الزر في الـ UserControl1 بالتالي:


كود :
Public Class UserControl1

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

        Me.SendToBack()
        'او يمكنك استخدام احد الاكواد التي في الاسفل بدل من الكود الذي في الاعلى
        'Form1.user2.BringToFront()
        'يجب استخدام كلا الكودين التاليين مع بعض
        'Me.Visible = False
        'Form1.user2.Visible = True


    End Sub
End Class


 الكود الخاص بالـUserControl2

كود :
Public Class UserControl2

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Me.SendToBack()
        ' او يمكنك اتبدال الكود السابق باي واحد من التي في الاسفل فقط الغي تعليق الكود
        'Form1.Button1.PerformClick()
        'Form1.user1.BringToFront()
        'يجب استخدام كلا الكودين التاليين مع بعض
        'Me.Visible = False
        'Form1.user1.Visible = True
    End Sub
End Class

الرد
تم الشكر بواسطة: DOX.1 , DOX.1 , asemshahen5
#4
أسأل الله أن يزيد بعلمكم ماشاء الله تبارك الله جميل جداً شكراً لكم 

يبقى سؤال إذا سمحتم  Blush

عندي الفورم الذي أستقبل فيه UserControls 

محتاج كود تحقق في الفورم  أتحقق ماهي UserControls  المعروضه فيه حالياً
الرد
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  أستدعاء البيانات adel27 2 1,867 17-12-16, 07:01 PM
آخر رد: adel27
  أستدعاء لطباعه adel27 0 908 06-11-16, 10:48 PM
آخر رد: adel27
  أفيدوني في نقطه أستدعاء بيانات adel27 1 1,199 09-03-16, 09:21 PM
آخر رد: HASAN6.0

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


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم