لطفا به نکات زیر در هنگام خرید mdi توجه فرمایید.

1-در این مطلب، متن اسلاید های اولیه mdi قرار داده شده است 2-به علت اینکه امکان درج تصاویر استفاده شده در پاورپوینت وجود ندارد،در صورتی که مایل به دریافت  تصاویری از ان قبل از خرید هستید، می توانید با پشتیبانی تماس حاصل فرمایید 3-پس از پرداخت هزینه ، حداکثر طی 12 ساعت پاورپوینت خرید شده ، به ادرس ایمیل شما ارسال خواهد شد 4-در صورت  مشاهده  بهم ریختگی احتمالی در متون زیر ،دلیل ان کپی کردن این مطالب از داخل اسلاید ها میباشد ودر فایل اصلی این پاورپوینت،به هیچ وجه بهم ریختگی وجود ندارد 5-در صورتی که اسلاید ها داری جدول و یا عکس باشند در متون زیر قرار نخواهند گرفت

اسلاید ۱ :

مقدمه:
تمام برنامه که درویندوزیا کلا“ در هر نرم افزاری اجرا می شوند دارای دو واسط به نام SDI  و mdi هستند.برنامه هایی که از واسط sdi بهره می گیرند فقط از یک پنجره یا مستند باز در یک زمان ،پشتیبانی می کنند.مانند برنامه NotPad یا paint  ویندوز.واسط SDI مخفف Single document interfarce  می باشد که معنی تک سندی را می دهد

اسلاید ۲ :

اما Mdi  مخفف multi document interfarce است که معنی چند سندی را می دهد مانند برنامه های فتوشاپ …
اما میخواهیم خاصیت mdi را در vb.net دنبال کنیم .برنامه vb از دو واسط  در برنامه های خود استفاده می کند  این خاصیت فقط برای  اشیا فرم قابل استفاده است

اسلاید ۳ :

طرز ساختن یک فرم mdi
برای ایجاد یک فرم mdi یک فرم در محیط vb.net    ایجاد میکنیم  خاصیت IsMDIcontainer  آنرا به true  تبدیل می کنیم رنگ پس زمینه فرم تیره تر می شود تفاوت رنگه ارا در دو اسلاید بررسی می کینم

اسلاید ۴ :

وقتی خاصیت mdi فرمی را  true می کنیم این فرم تبدیل به یک والد می شود که می توان یک یاچندین فرزند داشته باشد .mdi  های فرزند نمی توانند از فرم والد خود خارج شوند برای ایجاداین mdi  ها بعد از ست کردن خاصیت IsMDIcontainer  به true باید مقداری کد نویسی انجام دهیم در ویژوال ۶ اینجور نبود و ما می توانستیم به طور مستقیم یک فرم فرزند را به والد اضافه کنیم

اسلاید ۵ :

حال برای اضافه کردن فرمی به برنامه از منو project  گزینه addwindowsform… فرم را کلیک می کنیم تا فرم جدید به برنامه اضافه شود.
دررویداد  load  فرم والد یا فرم ۱   کد زیر را می نویسیم :
 dim f2 as new form2
f2.mdiparent=me
f2.show()
 به شکل اسلایدهای بعد توجه کنید

اسلاید ۶ :

نکته:
پنجره های فرزندمی توانند مستقل از پنجره های والد خود در حداقل و حداکثر سایز قرار گرفته و حتی بسته شود .
نکته مهم :
هرفرم والد یا پدر می تواند چندین فرم فرزند و هر فرم فرزند می توان والد فرم فرزند دیگری باشد به مثال اسلاید بعد توجه کنید

اسلاید ۷ :

مثال: می خواهیم برنامه ای بنویسیم که یک فرم mdi تولید کند و این فرم دارای چهارفرمchild یا فرزند باشد .برای این کار بایدابتدا  خاصیت IsMDIcontainer فرم والد یا اولین فرم برنامه رابه true   تغییر بدهیم  و بعد از آن منو را بسازیم و فرم های دیگر یا child هار ا به برنامه اضافه کنیم به اسلاید بعد توجه کنید

اسلاید ۸ :

نکته : هرگاه منویی برای یک فرم فرزند mdi بسازیم .اگر آن فرم ظاهر شد یعنی فرم فرزند نمایش داده شد منوی آن با منوفرم والد ادغام می شود  مثال اسلاید بعد این نکته را نمایش می دهد . تذکر: در اینجا  برای فرم های والد وفرزند منوهای متفاوتی را در نظر گرفته ایم

اسلاید ۹ :

در طراحی فرمهای والد و فرزند دیدیم که فرم والد داری یک منوchild با زیر منو child1,child2,child3 ,child4 بود
ولی در منوی فرم فرزند گزینه های new,open , close در زیر منو اصلی file وجود داشتند .هرگاه فرم child1 فعال شود منوی آن به منو فرم والد اضافه می شود

اسلاید ۱۰ :

نکته : هرگاه فرم فرزند mdi در یک فرم والد mdiفعال باشد اگر از دستور me.hide استفاده کنیم فقط فرم فرزند بسته می شود زیرا در این حالت (فرم فرزند و والد) فقط فرم فرزند فعال می باشد و فرم فرزند mdi  مخفی می شود