PDA

View Full Version : سوال: مشکل در MDI



Computer.Programmer
سه شنبه 26 آبان 1388, 21:04 عصر
سلام.

دوستان چه طور میشه در یک MdiContainer کنترلی اضافه کرد که بعد از نمایش فرم های فرزند آن کنترل زیر فرم فرزند قرار گیرد.

Computer.Programmer
چهارشنبه 27 آبان 1388, 15:14 عصر
از دوستان کسی نمی تونه کمک کنه. لااقل بفرمایید چه طور میشه به یک Mdi Container رنگ Backgrund اختصاص بدیم.

مهدی نان شکری
چهارشنبه 27 آبان 1388, 16:05 عصر
با سلام
وقتی برای یک فرم IsMdiContainer رو True میکنین IDE یک کنترل از نوع MdiClient به فرم اضافه می کنه.
در این صورت اگر شما رنگ پس زمینه فرم رو عوض کنید تغییری را نخواهید دید چون که شما MdiClient رو می بینید. برای این منظور در لود فرم بنویسید:


Dim client As MdiClient = Me.Controls.OfType(Of MdiClient).First
client.BackColor = System.Drawing.Color.Red

البته کد بالا در NET 3.5 و به بالا کار خواهد کرد.

Mani_rf
چهارشنبه 27 آبان 1388, 16:05 عصر
دوست عزیز؛ ما برای عرضیابی خلقیات هم اینجا گرده هم نیامده ایم، وظیفه من علاوه بر نظارت بر درست اجرا شدن قوانین سایت ، جلو گیری از ایجاد هر گونه تنش و نیز می باشد، جملات شما هیچ مشکل برنامه نویسی را از کسی رفع نمی نماید، اگر هر مشکلی با من یا شخص خاصی داری آدرس Email در مشخصات همه کاربران ثبت شده که می توانی انتقاد خود را به آنها بگویی.
در هر کدام از انجمن ها که تاپیکی برخلاف قوانین ایجاد گردد وظیفه رسیدگی به آن بر عهده مدیر بخش می باشد. برای اطلاعات بیشتر ، لطفا قوانین سایت (http://barnamenevis.org/forum/misc.php?do=showrules) را مطالعه فرمایید.

و اما درباره سوال شما :
کنترل و یا فرمی با نامMdiContainer در VB.Net وجود ندارد (با گفته شما در MSDN را دوباره جستجو کردم اما نبود.). اگر منظور شما MDIParent، این نوع فرم به خودی خود از طریق خاصیت BackColor توانایی تغییر رنگ را ندارد، اگر مایل به انجام چنین کاری هستید یک Panel به اندازی که فرمتان به آن بی افزایید و پس زمینه آن را تغییر دهید تا رنگ کلی فرم شما تغییر یابد.

Computer.Programmer
چهارشنبه 27 آبان 1388, 16:49 عصر
اگر هر مشکلی با من یا شخص خاصی داری آدرس Email در مشخصات همه کاربران ثبت شده که می توانی انتقاد خود را به آنها بگویی.


من ترجیح می دم این موضوع رو بیشتر از این دونباله دار نکنم و باز هم از زحمات شماتشکر می کنم.



و اما درباره سوال شما :
این نوع فرم به خودی خود از طریق خاصیت BackColor توانایی تغییر رنگ را ندارد، اگر مایل به انجام چنین کاری هستید یک Panel به اندازی که فرمتان به آن بی افزایید و پس زمینه آن را تغییر دهید تا رنگ کلی فرم شما تغییر یابد.

مشکلی که در استفاده از Panel هست اینه که فرم های Child در زیر اون قرار می گیرند و دیده نمی شوند و اگر فرم های Child را درون Panel ها لود کنم خاصیت هایی رو از دست می دهند مانند خاصیت Active شان.
به هر حال متشکرم من مشکلم با راهنمایی دوست عزیزمون NanShekari حل شد و فکر می کنم توضیحات خوب و مختصری دادند.