الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

التنقل بين مجموعة من الفورمز

مغلق
بدأه Pixar في 5 أغسطس 2006 · 5 رد · 792 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

احاول القيام بعمل برنامج صغير واريد فيه ان اتنقل بين ثلاثة فورمز كما في برامج الinstall عن طريق مجموعة من الازرار المعروفة

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

ولكن المشكلة اني عندما انتقل من فورم لاخر فأن القيم السابقة سوف تختفي لاني عملت close(); للفورم

قمت بتغيير الفكرة بأن قمت بعمل تحكم لل visible property ومنه اصبحت القيم موجودة ولكن عند نهاية الفورم الثالث عندما اقوم بعمل close لكل الفورمز

فأنها تغلق فعلا ولكن عندما اقوم بفتح ال task manager ارى ان البرنامج مازال يشتغل ولم يغلق نهائيا وهذا يظهر لانني عندما أقوم بعمل build فأن خطأ يظهر بأن البرنامج مازال يشتغل

هل هناك حل لهذه المشكلة

وهل يمكن عمل مثل هذا البرنامج بطربقة اخرى مثلا بحيث يمكن ان احتفظ بقيم كثيرة من كل فورم ك radiobutton , textbox , combobox دون الحاجة لعمل invisible للفورم

يعني الفورم الثالثة عندي ستكون النتائج التي ستظهر فيها تعتمد على الاختيارات في الفورم 1 و 2

اتمنى المساعدة

#2

اعمل Properties ترجع لك القيم التي تريدها واجعلها public حتى يمكنك الوصول لها من أي مكان. أو من خلال نافذة الخصائص الخاصه بعنصر معين ( TextBox مثلا أو الخ ) غير الخاصيه Modifiers الى public مثلا لكي تصل الى خواص العنصر كما تريد من أي مكان, ولكن لا ينصح بالأخيره.

#Read

http://MoutazShams.blogspot.com

projects003.gif

أعتذر عن التغيب هذه الأيام نظرا للانشغال المريب

#3

شكرا

ولكن هناك سؤال خطر على بالي وهو

ما هو افضل مكان يمكن ان اضع فيه تعريف اي فورم يعني

اذا انا كنت في الفورم 1 واردت ان انتقل للفورم 2 عند الضغط على next

فما هو افضل مكان اضع فيه تعريف الفورم الثاني

f2=new form2();

هل هو في ال constructor الحاص بالفورم 1 ام في الدالة الخاصة بالنقر على الزر

لانه تخيل اني وضعته في ال constructor الخاص بالفورم الاول ثم وضعت تعريف خاص بالفورم الاول في ال constructor الخاص بالفورم 2

لاستعماله عند الضغط على زر back

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

فهل يفضل ان اضع التعريف في الدالة الخاصة بالزر؟

وايضا عند انتقالي بين الفورمز اليست تحجز لها مكان في كل مرة بالذاكرة بدون ان تلغي القيمة الاولى التي مازالت موجودة , فكيف يمكن ان انهي فورم معين نهائيا دون انهاء البرنامج الموجود فيه

وهل يوجد حل لمشكلة ان البرنامج يبقى موجود في ال task manager حتى بعد قيامي بأغلاق كل الفورمز

#4

بيتهيألي لو استخدمت ال

Application.Exit();

هيشيلها خالص ك Process شغالة

#5

يمكنك عمل Properties ترجع لك القيم التي تريدها واجعلها public حتى يمكنك الوصول لها من أي مكان مثل ما قال الأخ معتز شمس ويمكنك أيضا عمل كلاس وإضافة بروبرتيس وجعلعها static من ثم يمكنك إستدعائها من أي فورم ولكن في حالة الكونترولس أنصحك بالطريقة الأولي أما إذا كنت تريد متغير أو أكثر من متغير global يمكنك إستخدام الطريقة الثانية.

تم تعديل هذه المشاركة بواسطة Snake C#.net في 7 أغسطس 2006 في 00:00

منارة التقنية

http://itechflare.com

 

برنامج إستخراج سندات القبض المجاني

للمزيد

#6

لا يوجد طريقه مثلى لوضع التعريفات ..... وانشاء الأوبجكتات

فانت على حسب البرنامج ..................... تحدد ذلك

#Read

http://MoutazShams.blogspot.com

projects003.gif

أعتذر عن التغيب هذه الأيام نظرا للانشغال المريب

هذا الموضوع مغلق.

مواضيع مشابهة