منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
طريقه بديلة لاستعمل usercontrol في ال panel ? - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : طريقه بديلة لاستعمل usercontrol في ال panel ? (/showthread.php?tid=17242)

الصفحات: 1 2


طريقه بديلة لاستعمل usercontrol في ال panel ? - Rabeea Qbaha - 10-09-16

السلام عليكم جميعا 

عندي مشكلة صغيرة و اتمنا ان اجد لها حل هنا و امل ان تساعدوني شباب

انا اقوم بعمل برنامج و اريد ان استخدم اكثر من واجهة في نفس ال form

فقد صنعت قائمة جانبيه في الفورم الرائيسي 


لذلك انا اقوم بعمل usercontrol و اضيف اليها جميع ما احتاج من مربعات فارغه و كبسات ...
و اضع الكود الازم . من ثم اقوم بوضع panel في ال form الرائيسي و اقوم بسحب usercontrol الى ال panel واقوم بالتحكم باظهار و اخفاء ال panels

مشكلتي هي انه يحدث معي مشاكل كثيرة منها ان ال form لا يظهر و واواجة مشاكل بال design او يقوم ال visual studio بالخروج ويعمل crash 

سؤالي هو هل يوجد طريقه بديلة لمل اقوم به ؟؟
لاني لا افضل وضع كل الادوات و كل الكود في نفس الفورم فيصعب التعديل على ال design و الكود ايضا 
لان ال panels سيغطون بعضهم البعض 
اتمنا اني قمت بالشرح الكافي

وشكرا
Usercontrol



RE: طريقه بديلة لاستعمل usercontrol في ال panel ? - silverlight - 10-09-16

غالبا انت لديك مشكلة في الكود الخاص بهذا userControl و هذا ما يؤدي الي Crash
ايضا كيف نجد لك شئ بديل بدون أن نري تصميم هذا الكونترول أو شكله


RE: طريقه بديلة لاستعمل usercontrol في ال panel ? - Rabeea Qbaha - 10-09-16

(10-09-16, 04:56 AM)silverlight كتب : غالبا انت لديك مشكلة في الكود الخاص بهذا userControl و هذا ما يؤدي الي Crash
ايضا كيف نجد لك شئ بديل بدون أن نري تصميم هذا الكونترول أو شكله

لقد قمت بتحديث الموضوع صديقي القي نظرة
اما بالنسبة للكود فهو طويل  هل اقوم باظافتة كمرفق ؟
وشكرا


RE: طريقه بديلة لاستعمل usercontrol في ال panel ? - محمد كريّم - 10-09-16

لا تضف الusercontrol الى ال panel في وقت التصميم
انا استخدم طريقة مشابهة لطريقتك وكتبت method لاضافة usercontrol الى panel عند الحاجة
يعني تحتاج الى بانل واحد في الفورم هو من يستقبل usercontrols
لا تنسى dispose للمحتويات الاولى قبل ارفاق محتويات جديدة


RE: طريقه بديلة لاستعمل usercontrol في ال panel ? - Rabeea Qbaha - 10-09-16

(10-09-16, 04:24 PM)محمد كريّم كتب : لا تضف الusercontrol الى ال panel في وقت التصميم
انا استخدم طريقة مشابهة لطريقتك وكتبت method لاضافة usercontrol الى panel عند الحاجة
يعني تحتاج الى بانل واحد في الفورم هو من يستقبل usercontrols
لا تنسى dispose للمحتويات الاولى قبل ارفاق محتويات جديدة

شكرا للرد صديقي 
ما هي المثود الخاصه لاستدعاء ال usercontrol ?


RE: طريقه بديلة لاستعمل usercontrol في ال panel ? - سعود - 10-09-16

استخدم الكود مثلا فيه عدد 2 يوزر كونترول
loginme
addme
في زر في الواجهة الرئيسية اكتب
dim uslogin as new loginme
panel.controls.clear
panel.controls.add(uslogin)
وهكذا للبقية

اعجبتني القائمة هل ممكن تقول شلون سويتها


RE: طريقه بديلة لاستعمل usercontrol في ال panel ? - محمد كريّم - 10-09-16

يمكن عمل دالة كهذه (سي شارب)
كود :
       public void assign_userControl(UserControl uc)
       {
foreach (Control c in panel1.Controls)
            {
                c.Dispose();
            }
           panel1.Controls.Add(uc);
           uc.Dock = DockStyle.Fill;
       }

بالمناسبة هل تستخدم أدوات devexpress ؟ أم أنها wpf فقط ؟
أعجبتني الأدوات وخصوصا ال placeholder


RE: طريقه بديلة لاستعمل usercontrol في ال panel ? - سعود - 10-09-16

الفورم الرئيسي
PHP كود :
Public Class Form1

    Private Sub Form1_Load
(sender As System.ObjectAs System.EventArgsHandles MyBase.Load
        frms
.Controls.Clear()
 
   End Sub

    Private Sub Button1_Click
(sender As System.ObjectAs System.EventArgsHandles Button1.Click

        frms
.Controls.Clear()
 
       For Each f As UserControl In frms.Controls
            f
.Dispose()
 
       Next
        frms
.Controls.Add(New frm_login)
 
   End Sub

    Private Sub Button2_Click
(sender As System.ObjectAs System.EventArgsHandles Button2.Click
        frms
.Controls.Clear()
 
       For Each f As UserControl In frms.Controls
            f
.Dispose()
 
       Next
        frms
.Controls.Add(New registerme)
 
   End Sub
End 
Class 
في الزر الغاء ننقر me.dispose وحتى باي زر اخر بعد الاستغناء عنه


RE: طريقه بديلة لاستعمل usercontrol في ال panel ? - Rabeea Qbaha - 11-09-16

(10-09-16, 05:40 PM)سعود كتب : استخدم الكود مثلا فيه عدد 2 يوزر كونترول
loginme
addme
في زر في الواجهة الرئيسية اكتب
dim uslogin as new loginme
panel.controls.clear
panel.controls.add(uslogin)
وهكذا للبقية

اعجبتني القائمة هل ممكن تقول شلون سويتها

اهلا اخي سعود 
انا استخدم ادوات خاصه تسمى Metro
سوف اقوم بارفاقها بالرد
وهذه طريقه تركيبها : How to use Winforms Modern UI


اما بالنسبة للقائمة استخدمت button و جعلت خاصية الشكل flat 
وقمت بالتحكم بالالوان عن طريق الكود ، اذا اردت الطريقه كاملة ساقوم بعمل موضوع لها

(10-09-16, 07:26 PM)محمد كريّم كتب : يمكن عمل دالة كهذه (سي شارب)
كود :
       public void assign_userControl(UserControl uc)
       {
foreach (Control c in panel1.Controls)
            {
                c.Dispose();
            }
           panel1.Controls.Add(uc);
           uc.Dock = DockStyle.Fill;
       }

بالمناسبة هل تستخدم أدوات devexpress ؟ أم أنها wpf فقط ؟
أعجبتني الأدوات وخصوصا ال placeholder
اهلا اخي سعود 
انا استخدم ادوات خاصه تسمى Metro
سوف اقوم بارفاقها بالرد
وهذه طريقه تركيبها : How to use Winforms Modern UI


RE: طريقه بديلة لاستعمل usercontrol في ال panel ? - أسامة السالمي - 11-09-16

لماذا لاتستخدم الـ(ChildForm)