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

MDI Child

مغلق
بدأه Ahmed H. Alawady في 21 نوفمبر 2005 · 9 رد · 736 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

يوجد سؤال بسيط بإذن الله

يوجد لدي شاشة MDI Child يتم عرضها في شاشة كبيرة MDI Parent

المهم في الموضوع الدوت نت يرفض أن يقوم بعرض الشاشة الصغيرة بإسلوب ShowDialog

ويفرض على المبرمج أن يكون الشاشة ليس لها Parent

فقمت بالمحاولة بإستخدام الأوامر Focus , Activate وغيرهم لتنشيط الشاشة في حالة عدم تنشيطها بالنسبة للأحداث LostFocus , DeActivate

المهم ولا أي أمر بيحوء معاها أبدا

فكيف أقوم بعرض هذه الشاشة بطريقة ShowDialog

Name : Ahmed H. Alawady

Web Site : Alawady.info

Email : alawady_ahmed@hotmail.com

Tel : +2 012 345 6808

#2

هذا منطقي جداً، لأن الـ MDI مخصص للتعامل مع أكثر من شاشة تابعة للبرنامج في وقت واحد، و ShowDialog تتعارض مع هذه الخاصية، أي لا يوجد داعي لإستخدام الـ MDI في هذه الحالة...

رأس الحكمة الإيمان بالله

#3

السلام عليكم ورحمة الله وبركاته

هذا ما أعلمة ولكن إذا ما أردت إظهار رسالة ضمن البرنامج Parent وأريد أن يقوم بتنفيذها أولا وليكن رسالة مثل MessageBox

ولكن قمت بإنشائها يدويا

فماذا أفعل ؟؟؟؟

Name : Ahmed H. Alawady

Web Site : Alawady.info

Email : alawady_ahmed@hotmail.com

Tel : +2 012 345 6808

#4
اقتباس
وليكن رسالة مثل MessageBox

ولكن قمت بإنشائها يدويا

فماذا أفعل ؟؟؟؟

إذا لماذا تجعل هذه الشاشة MDI Child للشاشة الرئيسية للبرنامج (الـ Parent) بما انك لا تريدها كذلك ؟؟؟

رأس الحكمة الإيمان بالله

#5

السلام عليكم ورحمة الله وبركاته

أخي العزيز محمد المشروع ككل يعمل تحت شاشة Parent

والرسالة التي أريد ظهورها على شكل ShowDialog أي لا يمكن تجاوزها حتى يغلقها أولا

فهي بالنسبة للشاشات Child وليست للـ Parent فلذلك أريد أن أدرجها أيضا تحت Parent

ولكن لا يمكن التنقل بين الشاشات Child بدون تخطي هذه الشاشة (الرسالة )

Name : Ahmed H. Alawady

Web Site : Alawady.info

Email : alawady_ahmed@hotmail.com

Tel : +2 012 345 6808

#6

بسم الله الرحمن الرحيم

أي نافذة مستطيع أن نعرضها في MDI ونعرضخا كـ SDI

إذا أردنا عرض النافذة كـ Child

            Form frm = new Form();

            frm.MdiParent = this;
            frm.Show();

إذا أردنا عرض النافذة كـ Modal

            Form frm = new Form();
            frm.ShowDialog();

وإذا أردنا في نفس الكود

            Form frm = new Form();

            frm.MdiParent = this;
            frm.Show();
            frm.Hide();

            frm.MdiParent = null;
            frm.ShowDialog();

أتمنى من الله أن أكون قد أوصلت لك ما تريد

لا تفعل إلا ما تستطيع أن تقوله ولا تقول إلا ما تسطيع أن تفعله

اللهم علمنا ما ينفعنا ونفعنا بما علمتنا وهب لنا من لدنك ولياً مرشدا

كلما أدبني الدهر أراني نقص عقلي ... وإذا ما زدت علماً زادني علماً بجهلي

أخوكم في الله أبو المجد

هيا نتعلم بعض المبادء لنطرق باب الإحتراف ************** جديد الدروس ( Application Domains and Assemblies)

التوقيت في دمشق:

<embed src="http://www.clocklink.com/clocks/0006-Gray.swf?TimeZone=R1T" width="200" height="240" wmode="transparent" type="application/x-shockwave-flash">

#7

جزاك الله خيرا

هذا ما يحدث بالفعل

ولكني لا أريد أن أخرجها من Parent

أي لا أريد تنفيذ هذا السطر

frm.MdiParent = null;

Name : Ahmed H. Alawady

Web Site : Alawady.info

Email : alawady_ahmed@hotmail.com

Tel : +2 012 345 6808

#8
اقتباس
ولكني لا أريد أن أخرجها من Parent

أتمنى أن تزيدن عما تريد فأن لم أستطيع أن أدرك ما تريد ياريت تعب نفسك بالكتابة لتسرح ما تريده بالضبط عسى الفائدة تعم علينا وعلى الجميع

أخوكم في الله أبو المجد

لا تفعل إلا ما تستطيع أن تقوله ولا تقول إلا ما تسطيع أن تفعله

اللهم علمنا ما ينفعنا ونفعنا بما علمتنا وهب لنا من لدنك ولياً مرشدا

كلما أدبني الدهر أراني نقص عقلي ... وإذا ما زدت علماً زادني علماً بجهلي

أخوكم في الله أبو المجد

هيا نتعلم بعض المبادء لنطرق باب الإحتراف ************** جديد الدروس ( Application Domains and Assemblies)

التوقيت في دمشق:

<embed src="http://www.clocklink.com/clocks/0006-Gray.swf?TimeZone=R1T" width="200" height="240" wmode="transparent" type="application/x-shockwave-flash">

#9

السلام عليكم ورحمة الله وبركاته

أخي العزيز TarekNajem04 أولا مرحبا بك في منتداك

ثانيا : بالنسبة للموضوع لدي برنامج وكله يعمل تحت شاشة Parent

والبرنامج كله بداخلة Child

واريد عمل ShowDialog لشاشة بالنسبة لبقية الشاشات Child الأخرى

فإذا قمت بإلغاءه من MDIParent بطريقة Null

هذا يعني أنه عندما يتحرك سوف يغطي على أشياء لا يجب أن تختفي بداخلة مثل MenuBar و StatusBar وغيرها

Name : Ahmed H. Alawady

Web Site : Alawady.info

Email : alawady_ahmed@hotmail.com

Tel : +2 012 345 6808

#10

يا أخي عندما تريد أن تظهر نافذة بطريقة ShowDialog يجب ان تكون بحاجة لهذه الطريقة أي أنك بحاجة لرد فعل من المستخدم لإدخال مجموعة من البيانات أو أنك تريد تنبيهه عن شئ ما فهي حصراً سوف تكون فوق كل الونافذ

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

لا تفعل إلا ما تستطيع أن تقوله ولا تقول إلا ما تسطيع أن تفعله

اللهم علمنا ما ينفعنا ونفعنا بما علمتنا وهب لنا من لدنك ولياً مرشدا

كلما أدبني الدهر أراني نقص عقلي ... وإذا ما زدت علماً زادني علماً بجهلي

أخوكم في الله أبو المجد

هيا نتعلم بعض المبادء لنطرق باب الإحتراف ************** جديد الدروس ( Application Domains and Assemblies)

التوقيت في دمشق:

<embed src="http://www.clocklink.com/clocks/0006-Gray.swf?TimeZone=R1T" width="200" height="240" wmode="transparent" type="application/x-shockwave-flash">

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

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