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

سؤال عن Mdi Parent

بدأه ahmed01 في 16 نوفمبر 2008 · 6 رد · 778 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

السادة مشرفي وأعضاء منتدى الفريق العربي للبرمجة

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

لدي استفسار حول mdiparent وكيفية التعامل معها

يوجد لدي ثلاث فورمات : وضعت الأول parent من خلال خاصية Ismdicontainer ووضعت داخل حدث Load الكود التالي :

	Form2 child = new Form2();
			child.MdiParent = this;
			child.Show();

وظهرت كما في الصورة ادناه

post-69820-1226817640_thumb.jpg

اريد عند الضغط على الزر الموجود في فورم 2 اظهار فورم 3 في نفس شاشة mdi وإخفاء فورم 2

وأريد عند الضغط على الزر الآخر الموجود في شاشة فورم 2 يقوم بإخفاء label1 الموجود في form1

أرجو التعديل على البرنامج في المرفقات ودمتم.....

WindowsApplication1.rar

#2

غير الكود كما يلي :

في الفورم 1

 

using System;

using System.[color= #202020;]Collections.[color= #202020;]Generic;

using System.[color= #202020;]ComponentModel;

using System.[color= #202020;]Data;

using System.[color= #202020;]Drawing;

using System.[color= #202020;]Text;

using System.[color= #202020;]Windows.[color= #202020;]Forms;

 

namespace WindowsApplication1

[color= #009900;]{

    public partial class Form1 [color= #339933;]: Form

    [color= #009900;]{

        public Form1[color= #009900;]([color= #009900;])

        [color= #009900;]{

            InitializeComponent[color= #009900;]([color= #009900;]);

        [color= #009900;]}

 

        private [color= #993333;]void Form1_Load[color= #009900;](object sender, EventArgs e[color= #009900;])

        [color= #009900;]{

            Form2 child [color= #339933;]= new Form2[color= #009900;]([color= #009900;]);

            [color= #666666; font-style: italic;]//****************************

            child.[color= #202020;]form1 [color= #339933;]= this;

            [color= #666666; font-style: italic;]//****************************

            child.[color= #202020;]MdiParent [color= #339933;]= this;

            child.[color= #202020;]Show[color= #009900;]([color= #009900;]);

 

        [color= #009900;]}

    [color= #009900;]}

[color= #009900;]}

في الفورم2

 

using System;

using System.[color= #202020;]Collections.[color= #202020;]Generic;

using System.[color= #202020;]ComponentModel;

using System.[color= #202020;]Data;

using System.[color= #202020;]Drawing;

using System.[color= #202020;]Text;

using System.[color= #202020;]Windows.[color= #202020;]Forms;

 

namespace WindowsApplication1

[color= #009900;]{

    public partial class Form2 [color= #339933;]: Form

    [color= #009900;]{

        [color= #666666; font-style: italic;]//****************************

        internal Form1 form1;

        [color= #666666; font-style: italic;]//****************************

 

        public Form2[color= #009900;]([color= #009900;])

        [color= #009900;]{

            InitializeComponent[color= #009900;]([color= #009900;]);

        [color= #009900;]}

 

        private [color= #993333;]void button1_Click[color= #009900;](object sender, EventArgs e[color= #009900;])

        [color= #009900;]{

            Form3 frm [color= #339933;]= new Form3[color= #009900;]([color= #009900;]);

            frm.[color= #202020;]MdiParent [color= #339933;]= form1;

            this.[color= #202020;]Hide[color= #009900;]([color= #009900;]);

            frm.[color= #202020;]Show[color= #009900;]([color= #009900;]);

        [color= #009900;]}

 

        private [color= #993333;]void button2_Click[color= #009900;](object sender, EventArgs e[color= #009900;])

        [color= #009900;]{

            form1.[color= #202020;]label1.[color= #202020;]Visible [color= #339933;]= [color= #339933;]!form1.[color= #202020;]label1.[color= #202020;]Visible;

        [color= #009900;]}

    [color= #009900;]}

[color= #009900;]}

[وسط]لا اله الا انت سبحانك انى كنت من الظالمين

[/وسط]

#3

أخي العزيز ddata11 اشكر لك مرورك على الموضوع

الخطوة الأولى نفذت بشكل سليم

ولكن كود الخطوة الثانية لم ينفذ

form1.label1.Visible = !form1.label1.Visible;

ارجو اعادة النظر في هذا الكود وشكرا

#4

عفواً نسيت اذكر هذه النقطة,,,

افتح الفورم1 وغير الخاصية Modifiers

لـ label1 إلى public او internal

[وسط]لا اله الا انت سبحانك انى كنت من الظالمين

[/وسط]

#5

في الكود الاول

 child.form1 = this;

ممكن توضح بعد اذنك لاني مافهمتها

#6

لازم يكون في الفورم2 مرجع للفورم1 علشان نقدر نتحكم في إظهار او اخفاء الـ label1

ولهذا السبب (ومن اجل التبسيط) عرفنا في الفورم2 التالي

internal Form1 form1;

وعند تحميل الفورم وفي الدالة Form1_Load اسندنا قيمة لهذا المرجع

child.form1 = this;

وفي الحدث button2_Click في الفورم2

form1.label1.Visible = !form1.label1.Visible;

ملاحظة:

يمكننا الأستغناء عن هذه الخطوة

internal Form1 form1;

واستخدام الخاصية MdiParent للفورم

[وسط]لا اله الا انت سبحانك انى كنت من الظالمين

[/وسط]

#7

أخي العزيز ddata11 بارك الله لك في علمك

ولك جزيل الشكر

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