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


انا ومنذ بداياتي في البرمجة لازلت استخدم طريقة لاأعلم ان كانت هناك افضل منها لعرض اكثر من page في نفس الفورم

يعني مثلا هذا البرنامج الي صممته عام 2011 ، لما اضغط على تاب Section (الي اقصى اليسار) مثلا راح تطلع لي Panel :




الان لو ان المستخدم ضغط على تاب Post راح يتم اخفاء SectionPanel وجعله Visible = false .. ليس فقط الSectionPanel بل كل الPanel في البرنامج راح يصيرون مخفيين

ثم بعد ان اجعل جميع الPanels مخفيين ، اقوم بجعل visible = true للPostPanel





ولكن مشكلة هذه الطريقة انها متعبة وقت التصميم .. حيث يجب عليك وضع الPanel فوق panel --- والpanel التي تريد التعديل عليها تجعلها BringToFront وايضا عليك ربط كل Panel بزرها


الان انا استخدم هذه الطريقة منذ زمن بعيد ولم اغيرها حتى الان (طبعا بالنسبة لwindows forms)

اما في wpf فيوجد البديل وهو Pages .



ولكن انا اتحدث عن Windows forms هل جرب احدكم طريقة اخرى اسهل وافضل ؟ .. ام انكم جميعا تستخدمون هالطريقة ههههه
الرد }}}}
تم الشكر بواسطة:
#2
سؤال مهم جداً ... بارك الله فيك على طرحه هنا في المنتدى Smile
أنا في WinForms استخدم نفس الطريقة المملة و المتعبة فعلاً اثناء البرمجة.

بالإضافة إلى, هل لديكم معلومة حول: (كيف يمكن عمل تحليل -Analysis- لكود المشروع)؟ أي كيف يمكن معرفة هل أداء كود المشروع بطئ أم سريع؟
أعتقد بأنك كنت تريد الوصول إلى هذه النقطة أيضاً من خلال طرحك لسؤالك Smile


السلام عليكم
الرد }}}}
تم الشكر بواسطة: الشاكي لله
#3
(22-01-14, 01:25 PM)hoob computer كتب : سؤال مهم جداً ... بارك الله فيك على طرحه هنا في المنتدى Smile
أنا في WinForms استخدم نفس الطريقة المملة و المتعبة فعلاً اثناء البرمجة.

بالإضافة إلى, هل لديكم معلومة حول: (كيف يمكن عمل تحليل -Analysis- لكود المشروع)؟ أي كيف يمكن معرفة هل أداء كود المشروع بطئ أم سريع؟
أعتقد بأنك كنت تريد الوصول إلى هذه النقطة أيضاً من خلال طرحك لسؤالك Smile


السلام عليكم

إن كنت تقصد هذه



فلم اجربها ولااعلم وظيفتها اصلا خخ

انا جديد على 2012 وهناك ميزات كثيرة اريد اكتشفها بس اخلي من واروح لمن هههه


--

المهم بالنسبة لهذا الموضوع هو بالفعل ممل جداا

اكثر شيئ يمللني هو لما يدخل الPanel داخل Panel

يعني يصير child ، رغم انه المفروض يكون panel رئيسي ولكن بفعل التحريك الخاطئ يدخل في الpanel

كم اكرهها هذه الحالة.


لابد ان نقوم بتمصيم اداة تعمل وقت التصميم وشكلها مثل tabControl

ولكن هي tabcontrol فقط وقت التصميم ـ وعند الrun time تختفي وتظهر الpanel عادية

--

لكن هناك سؤال اخر يطرح نفسه (كما اشرت اخي ) الاحظ كل مازادت الpanel زاد ثقل البرنامج
الرد }}}}
تم الشكر بواسطة: hoob computer
#4
ولهذا أحب اريح دماغي و أحول على WPF ههههه
فيها Customization مفيد جداً و لكنها تعتمد على DirectX في أداءها.

و بالفعل كثرة الـ Panel في المشروع تثقل عمله و لا أعرف لماذا؟
هل من إقتراحات حول أداء البرنامج عدا أداة Analysis ؟



السلام عليكم
الرد }}}}
تم الشكر بواسطة: الشاكي لله
#5
(22-01-14, 05:58 PM)hoob computer كتب : ولهذا أحب اريح دماغي و أحول على WPF ههههه
فيها Customization مفيد جداً و لكنها تعتمد على DirectX في أداءها.

و بالفعل كثرة الـ Panel في المشروع تثقل عمله و لا أعرف لماذا؟
هل من إقتراحات حول أداء البرنامج عدا أداة Analysis ؟



السلام عليكم

صحيح wpf تريح راسك

لكن العمل معها يحتاج وقت اطول لأنك محتاج تصمم كل شي

اقرب مثال هو الtreeview حقها ، لازم تسوي Customization حقه (تضيف stackpanel + image) عشان يصير node


ولكني اضن ان الwpf لاتعتبر كبديل للwindows form فلا زلت احبها في بعض الاحيان (ربما للذكريات معها هههههه )

وايضا بالنسبة للpanel الي يثقل عمل البرنامج

اعتقد لو سوينا كل الpanel في البرنامج dispose يعني ندمرهم . ونخلي فقط الpanel المطلوب visible = true يكون البرنامج تمام ..

فانا فقط اقوم بجعل الpanel مخفيين (visible = false)

لابد ان اجرب نظرية التدمير لهذه الpanels


موفق
الرد }}}}
تم الشكر بواسطة: hoob computer
#6
السلام عليكم ورحمة الله وبركاته

كنت مثلك في الماضي بتستخدم نفس الطريقة وقد كرهتها لتداخل الأدوات مع بعضها .

لذلك اتجهت إلي الـ UserControl .

في حالتك يمكنك الاستفادة منها كالتالي كمثال :

تنسخ القسم Section أو تصممه من جديد في واحدة منها
ونفس الشي مع القسم Post في واحدة أخرى ،، وهكذا مع بقية الأقسام

في الـ Form حتحتاج لأداة Panel واحدة فقط

يضاف لها الـ UserControl بالطريقة :
كود :
Dim UC As New UserControl1
        Panel1.Controls.Add(UC)

لتفريغ وحذف كل الـ UserControl من أداة الـ Panel :
كود :
Panel1.Controls.Clear()
(وَقُل رَّبِّ زِدْنِي عِلْمًا)

الرد }}}}
تم الشكر بواسطة: ربيع , myalsailamy
#7
(22-01-14, 10:42 PM)kslawy كتب : السلام عليكم ورحمة الله وبركاته

كنت مثلك في الماضي بتستخدم نفس الطريقة وقد كرهتها لتداخل الأدوات مع بعضها .

لذلك اتجهت إلي الـ UserControl .

في حالتك يمكنك الاستفادة منها كالتالي كمثال :

تنسخ القسم Section أو تصممه من جديد في واحدة منها
ونفس الشي مع القسم Post في واحدة أخرى ،، وهكذا مع بقية الأقسام

في الـ Form حتحتاج لأداة Panel واحدة فقط

يضاف لها الـ UserControl بالطريقة :
كود :
Dim UC As New UserControl1
        Panel1.Controls.Add(UC)

لتفريغ وحذف كل الـ UserControl من أداة الـ Panel :
كود :
Panel1.Controls.Clear()

فكرة راااائعة وجميلة

وهذا يشبه الPage في WPF

حيث تقوم بتصميم Pages ثم تستضيفهم في Frame وتقدر تبدل بينهم بسهولة

فكرة خطرت على بالي ولكني تجاهلتها ، شكرا لك على تذكيرنا


كل الود Heart
الرد }}}}
تم الشكر بواسطة: kslawy , hoob computer
#8
ما شاء الله عليكم يا أخواني الكرام (الشاكي لله, kslawy) .. كم أجد نفسي صغيراً في البرمجة عندما أقرأ مشاركاتكم Sad
الله يبارك فيكم و يزيدكم و يزدنا من فضله و علمه ...


السلام عليكم
الرد }}}}
تم الشكر بواسطة: الشاكي لله , kslawy
#9
السلام عليكم
صراحه موضوع جميل جدا وشيق ولكن لي رأي مختلف تمام
نحن كمبرمجين كالشمع نزوب ليرتاح السيد المستخدم (وهو في الغالب لا يقدر مجهودنا ههههههه)
وبما اني ميكروسوفتي 100% وهي تحب ان تريح الناس والمبرمجين معا اخذت بعض الافكار من Poul shoul وهي الاتي
قبل بناء اي برنامج انظر البرامج المشابهه وانظر نقاط ضعفها
انا شخصيا استخدم القوائم contextmenu والفورمز فهي مريحه وسريع واعتقد احترافيه واعمل كل شئ فورم منفصل وكل وظائف مهمه معينه في folder خاص واحد بأسم الوظيفه فمثلا اضافه موظف
اعمل فولدر اسمه AddEmployee
ثم اضع الفورم الرئيسي بداخله ثم فورم الLookup وفورم option وبتحكم طبعا بالcontextment وبعدين حضرة المستخدم كليك يمين ويعمل العايزو
تحياتي
_____________________________________________________________________
microsoft partner
Team administrator
MCPD,MCITP,OCP,MP,MCC
Xprema Systems
الرد }}}}
تم الشكر بواسطة:
#10
(23-01-14, 11:55 PM)smss كتب : السلام عليكم
صراحه موضوع جميل جدا وشيق ولكن لي رأي مختلف تمام
نحن كمبرمجين كالشمع نزوب ليرتاح السيد المستخدم (وهو في الغالب لا يقدر مجهودنا ههههههه)
وبما اني ميكروسوفتي 100% وهي تحب ان تريح الناس والمبرمجين معا اخذت بعض الافكار من Poul shoul وهي الاتي
قبل بناء اي برنامج انظر البرامج المشابهه وانظر نقاط ضعفها
انا شخصيا استخدم القوائم contextmenu والفورمز فهي مريحه وسريع واعتقد احترافيه واعمل كل شئ فورم منفصل وكل وظائف مهمه معينه في folder خاص واحد بأسم الوظيفه فمثلا اضافه موظف
اعمل فولدر اسمه AddEmployee
ثم اضع الفورم الرئيسي بداخله ثم فورم الLookup وفورم option وبتحكم طبعا بالcontextment وبعدين حضرة المستخدم كليك يمين ويعمل العايزو
تحياتي
_____________________________________________________________________

شكرا على ردك دكتور سامر ...

واحب ان اضيف ايضا .. ان لكل برنامج طريقة تصميم خاصة لتناسب البرنامج اكثر

لنضرب مثالا : برامج الStudio امثال Xamarin , Visual studio , netbeans.....

افضل تصميم لها هي الdockable window





بينما اخرى مثل برنامج تحميل الملفات يكون فيها الListview هو الاداة الرئيسية والافضل لها

وهكذا دواليك ....

شكرا لمرورك استاذنا سامر وبالتوفيق لنا ولكم وللمشاهدين ان شاء الله
الرد }}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [VB.NET] هل يمكن الاستغناء عن التايمر واستخدام شئ بديل يكون افضل ؟ !! الماجيك مسعد 7 102 اليوم, 06:58 AM
آخر رد: silverlight
Rainbow طريقة عمل حضور وانصراف يتجدد يوميًا+طباعة سجلات الحضور والانصراف فاطمة غ 1 57 أمس, 10:51 PM
آخر رد: فاطمة غ
  طريقة عمل قائمة خصائص شبية باالموجودةفي برنامج الفيجوال بيسك CLARO 1 55 أمس, 12:20 AM
آخر رد: amgad525
  طريقة نقل الفيجوال ستيديو من جهاز لاخر CLARO 1 38 06-12-16, 08:15 PM
آخر رد: محمد كريّم
  [سؤال] طريقة لقص صورة في الpictureBox1 CLARO 7 127 06-12-16, 03:30 PM
آخر رد: CLARO
  [سؤال] ايهما افضل في قواعد البيانات للتميم برنامج sal.softip 2 46 03-12-16, 06:59 PM
آخر رد: sal.softip
  [VB.NET] ما هيه افضل قواعد بينات اتعامل معاها dubai.eig 3 109 25-11-16, 01:07 AM
آخر رد: hassan
  [سؤال] ايهما افضل من جهة امن البيانات thevirus 2 90 24-11-16, 12:14 PM
آخر رد: thevirus
  [سؤال] طريقة عمل كشف حساب (دائن ومدين) اليوم مبتدئة وغداً محترفة 11 350 14-11-16, 08:26 AM
آخر رد: Genius Live
  طريقة تحزيم التطبيق اليوم مبتدئة وغداً محترفة 1 121 12-11-16, 08:16 AM
آخر رد: اليوم مبتدئة وغداً محترفة

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


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