***1
برنامه های چند فرمی MDI
برنامه های MDIکاربران راقادرمی سازدتادریک زمان به کارباچندمستندبپردازند.همچنین برنامه های MDIدارای محیط بسیارپیچیده تری هستندوازویژگی های زیادتری برخوردارمی باشند.
پنجره اصلی برنامه MDIبعنوان پنجره والدشناخته می شودوهرپنجره موجوددردرون پنجره اصلی برنامه پنجره فرزندنام دارد.
یک برنامه MDIمی تواند پنجره های فرزند متعددی داشته باشدوهرکدام دارای یک پنجره والد باشند.عملکردوتوابع یک پنجره فرزندمی تواندمتفاوت ازعملکرد و توابع دیگر پنجره های فرزند باشد.برای مثال ممکن است یکی ازپنجره های فرزندتصویر نمایش دهد ودیگری عمل ویرایش متن انجام دهدوسومی پنجره ترافیک شبکه رانشان دهد درحالیکه هر سه پنجره متعلق به یک والدMDIهستند.
***2
•شروع به کار طراحی به روش MDI
برای ایجادیک فرم MDIیک فرم جدید ایجاد کرده و خاصیت Is MDI Containerآنرابه Trueتغییر دهید.سپس یک کلاس فرم فرزند ایجادوبه فرم اضافه می کنیم .برای انجام اینکاربرروی پروژه درپنجره Solution Explorerکلیک راست انجام داده وازمنوی ظاهرشده Add Windows Form…راانتخاب کنیم.برای افزودن فرم فرزند به والد بایستی یک شی فرم فرزندجدید ایجادکرده و خصیصه MDI Parentآنرا با فرم والد تنظیم ومتد Showرافراخوانی کرد.بطورکلی افزودن یک فرم فرزندبه یک والد باعبارت زیر صورت می گیرد.
Dim FrmChild As New ChildFormClass()
FrmChild.MdiParent=frmParent
frmChild.Show()
***4
خصوصیات ورویدادفرم های MDI
خصوصیات فرزندMDI
IsMdiChild براین نکته دلالت می کندکه فرم یک فرزندMDIاست.اگرTrueباشدفرم فرزندMDIخواهدبود.
MdiParentمشخص می کنند والد فرم فرزند است.
خصوصیات والدMDI
ActiveMdiChildفرمی که درحال حاضرفرزندفعال MDIاست رابرگشت می دهد(اگر هیچکدام ازفرزندان فعال نباشند مقدارNothingبرگشت می دهد)
IsMdiContainerتعیین می کند که آیا فرم می تواند یک MDIوالد باشد یاخیر.اگرTrueباشد فرم می تواند یک والدMDIباشد.مقدار پیش فرض Falseاست.
MdiChildenفرزندانMDIرابه عنوان آرایه ای ازفرم ها برگشت می دهد.
متدLayoutMDIطریقه به نمایش درآمدن فرم های فرزند بر روی یک والدMDIراتعیین می کند.مقادیر ممکنه برای این متدعبارتندازArrangeIcone- CasCade-TileHorizontalوTileVertical.
رویداد(Event Argsآرگومان رویداد-EventHandlerنمایند)
MdiChildActive زمانیکه فرزندMDIبسته یا فعال می شود رخ می دهد.