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

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

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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [سؤال] كيف اخلي البرنامج يشتغل بدون نت فروم ورك و طريقة اختيار النت فروم ورك hassan 10 5,001 25-05-17, 08:04 AM
آخر رد: hatem555
  [VB.NET] اريد طريقة لتشفير اكواد الفيجوال بيسك طارق سليمان 0 64 24-05-17, 05:14 PM
آخر رد: طارق سليمان
  ممكن طريقة عمل راديو اذاعات القرآن الكريم عن طريق aassa 5 93 20-05-17, 12:49 AM
آخر رد: alma2
  طريقة طباعة فاتورة و التحكم بشكلها Basil Abdallah 1 67 19-05-17, 12:34 PM
آخر رد: Adrees
Question طريقة فتح المشاريع المرفقة ابو إياد 5 227 16-05-17, 10:40 PM
آخر رد: safalo
  [VB.NET] افضل ما توصلت له لنظام الباركود nabil.1710 21 964 15-05-17, 04:06 PM
آخر رد: nabil.1710
  [سؤال] ممكن طريقة اضافة سنوات في التاريخ Abdulaziz Hazazi 2 90 06-05-17, 09:59 PM
آخر رد: أسامة السالمي
  [VB.NET] طريقة منع استخدام form1 بعد فتح form2 abomo3ath 3 91 19-04-17, 10:56 AM
آخر رد: عبـدالله
  [VB.NET] ابحث عن افضل من طريقة لتحديث برنامجك 0theghost0 2 163 27-03-17, 07:55 PM
آخر رد: 0theghost0
  [VB.NET] هل هناك كود افضل من هذا لمشكلة الترقيم التلقائي ؟ 0theghost0 0 117 23-03-17, 07:32 PM
آخر رد: 0theghost0

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


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