تقييم الموضوع :
  • 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 هو الاداة الرئيسية والافضل لها

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

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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [سؤال] اريد مثال على طريقة ادراج صورة من السكانر ناصر شير 1 59 أمس, 03:36 PM
آخر رد: أبووسم
  [سؤال] طريقة استخراج الاي بي المحلي للكمبيوتر ؟ thevest_knight 2 74 27-02-17, 08:32 PM
آخر رد: thevest_knight
  [VB.NET] how to do this form effect? الماجيك مسعد 3 72 24-02-17, 08:18 AM
آخر رد: الماجيك مسعد
  سؤال .. عن طريقة ادراج صورة من السكانر وطباعتها ناصر شير 0 50 20-02-17, 02:54 AM
آخر رد: ناصر شير
  طريقة ظهور اسم المستخدم في جميع صفحات الويب عباسة 0 88 14-02-17, 03:17 PM
آخر رد: عباسة
  [سؤال] طريقة تعبئة listbox من ملف text وربطه برابط على الانترنت youssef1 10 265 11-02-17, 12:56 AM
آخر رد: hassan
  [سؤال] هل يوجد طريقة للتنبيه قبل انتهاء التاريخ بيومين Marwan9990 22 752 08-02-17, 02:48 AM
آخر رد: أسامة السالمي
  [سؤال] طريقة عمل ازرار على صرة من الفوتوشوب عبدالرحمن المكاوي 20 797 07-02-17, 02:49 PM
آخر رد: عبدالرحمن المكاوي
  طريقة طباعة ملف RAWAN.HQ 0 53 07-02-17, 11:17 AM
آخر رد: RAWAN.HQ
  نموذج مستمر ..Continuous form haydar2000 0 43 07-02-17, 01:21 AM
آخر رد: haydar2000

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


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