تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
طريقه بديلة لاستعمل usercontrol في ال panel ?
#1
السلام عليكم جميعا 

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

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

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


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

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

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

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

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

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

اعجبتني القائمة هل ممكن تقول شلون سويتها
الرد
تم الشكر بواسطة: Rabeea Qbaha
#7
يمكن عمل دالة كهذه (سي شارب)
كود :
       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
الرد
تم الشكر بواسطة: Rabeea Qbaha
#8
الفورم الرئيسي
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 وحتى باي زر اخر بعد الاستغناء عنه


الملفات المرفقة
.zip   JustCreate.zip (الحجم : 35.07 ك ب / التحميلات : 38)
الرد
تم الشكر بواسطة: Rabeea Qbaha
#9
(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


الملفات المرفقة
.zip   METRO DLL.zip (الحجم : 477.53 ك ب / التحميلات : 38)
الرد
تم الشكر بواسطة:
#10
لماذا لاتستخدم الـ(ChildForm) 
الرد
تم الشكر بواسطة: Rabeea Qbaha


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  طريقه لتقليل استخدام if statement Rabeea Qbaha 8 190 04-12-18, 11:45 PM
آخر رد: Rabeea Qbaha
  كود في طريقه حفظ الملفات بامتداد مختار من الفلتر معاذ العامري 4 224 31-07-18, 10:20 PM
آخر رد: سعود
  طريقه عمل بكج لمشروعي وجعله exe فراس محي 1 112 29-07-18, 04:12 PM
آخر رد: boudyonline
  [سؤال] هل ممكن طريقه بسيطه لعمل شات بين الاداره والفروع بقاعده بيانات MYSQL dametucorazon 9 334 27-07-18, 12:01 AM
آخر رد: elgokr
  [سؤال] اريد طريقه بسيطه لعمل اضافه لكل محتويات الداتا جريد الى قاعده البيانات MYSQL dametucorazon 6 245 23-07-18, 12:24 AM
آخر رد: dametucorazon
  سؤال اريد طريقه تفعيل الحمايه لبرنامج قمت بانشاءه وتحديد السيريال أبو علي1 3 240 24-06-18, 08:12 PM
آخر رد: sendbad100
  طريقه برمجه البطاقات الذكية Rfid Mahmoud Nasser 1 441 22-06-18, 01:12 AM
آخر رد: Amir_alzubidy
  [VB.NET] اريد طريقه لمنح المستخدم صلاحيه انشاء مستخدم علي البرنامج بنفسه مرة واحدة فقط dametucorazon 3 238 17-06-18, 04:29 AM
آخر رد: elgokr
  سؤال فى طريقه إعداد ال ToolBox فى VB.net 2015 ابوثامر الحربي 14 857 25-05-18, 10:31 PM
آخر رد: elgokr
Rainbow سؤال ضوري جدا .. كيف عمل Group panel متكرر ايادا وسكار 1 192 10-01-18, 03:35 AM
آخر رد: طالب برمجة

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


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