PDA

View Full Version : مشکل در نمایش فرمهای فرزند در برنامه های چند سندی



pooyansystem
یک شنبه 23 دی 1386, 12:36 عصر
سلام
من یه فرم دارم که به عنوان فرم پدر در برنامم شناخته میشه یه کنترل روی فرم گذاشتم که مجبورم dock اون رو به صورت fill مقدار دهی کنم ولی در این صورت فرم های فرزند زیر این کنترل نشون داده میشن و من نمیتونم تو برنامه اونها رو ببینم حالا باید چیکار کنم که فرم های فرزند برنامه من روی کنترل فرم پدر قرار بگیرند
ممنون

sinpin
یک شنبه 23 دی 1386, 13:05 عصر
سلام
من یه فرم دارم که به عنوان فرم پدر در برنامم شناخته میشه یه کنترل روی فرم گذاشتم که مجبورم dock اون رو به صورت fill مقدار دهی کنم ولی در این صورت فرم های فرزند زیر این کنترل نشون داده میشن و من نمیتونم تو برنامه اونها رو ببینم حالا باید چیکار کنم که فرم های فرزند برنامه من روی کنترل فرم پدر قرار بگیرند
ممنون
وقتی فرمهای فرزند رو بازمیکنید اون آیتم رو hide یا SendToBack کنید.

pooyansystem
یک شنبه 23 دی 1386, 13:21 عصر
وقتی فرمهای فرزند رو بازمیکنید اون آیتم رو hide یا SendToBack کنید.
من می خوام این کنترل همیشه دیده بشه پس نمی تونم اونو hide یا sendtobackکنم
راه دیگه ای نیست

pooyansystem
دوشنبه 24 دی 1386, 11:10 صبح
یعنی واقعا هیچ راهی وجود نداره
این مساله خیلی مهمه اگه میتونید ممنون میشم به من کمک کنید

pooyansystem
سه شنبه 25 دی 1386, 10:15 صبح
بچه ها یعنی تا حالا هیچ کس یه همچین مشکلی نداشته اینم بگم که کنتلی که من روی فرم پدر قرار دادم یه component هست به نام DockPanelشاید کسانی که از این component استفاده کردن بتونن به من کمک کنن
من همچنان منتظرم

pooyansystem
چهارشنبه 26 دی 1386, 08:21 صبح
این مساله خیلی حیاتی یعنی هیچ راهی وجود نداره اساتید محترم لطفا کمک کنید

ali2000_1358
شنبه 17 فروردین 1387, 08:34 صبح
منم همین مشکل رو دارم

sinpin
شنبه 17 فروردین 1387, 08:47 صبح
این مساله خیلی حیاتی یعنی هیچ راهی وجود نداره اساتید محترم لطفا کمک کنید
این رو تست کنید :

private void ShowNewForm(object sender, EventArgs e)
{
Form childForm = new Form();
childForm.MdiParent = this;
childForm.Show();
childForm.Parent = pictureBox1;
}
در کد بالا من فرض کردم که یه پیکچرباکس درون فرم مادر Fill Dock شده

Mahdi.Kiani
شنبه 17 فروردین 1387, 11:29 صبح
سلام دوست من ..
دنبال جواب سوالی که خود سوال ایراد داره نباشین ..
در برنامه های MDI بهتره که فقط یک عکس به عنوان backGround آن تنظیم کنید ..(اگر از ظاهر خاکستری اون بدتون میاد) و اگر چنانچه مایل به استفاده از کنترل های دیگری مانند Button و ... برای فرم مادر هستید، بهتره از پنل های Docktable استفاده کنید .. و کنترل های مورد نظر، شامل دکمه ها، و ... را روی آن ها قرار بدهید..
منظور از پنل های Docktable چیزی مانند پنجره های properties ، solution Explorer و ... در Visual Studio هستند که هم می توانند به صورت فرم قرار بگیرند و هم به صورت یک پنل dock شده در کناره های فرم اصلی .. (روش درستش اینه)
موفق باشید

Mahdi.Kiani
شنبه 17 فروردین 1387, 11:37 صبح
من روی فرم پدر قرار دادم یه component هست به نام DockPanelشاید کسانی که از این component استفاده کردن بتونن به من کمک کنن
من همچنان منتظرم

این پست را تازه دیدم
از کدام کامپوننت استفاده می کنید؟ من چندین سال پیش از یکی از این کامپوننت ها می خواستم استفاده کنم، (البته با سورس بود) یک خاصیتی در property آن وجود داشت مربوط به نحوه render کردن docktable panel بود که اگر اون را روی system (درست یادم نیست کدام گزینه) تنظیم می کردین، فرم های فرزند درست نمایش داده می شدند. اما این کامپوننتی هم که من داشتم با مشکل Rt L مشکل داشت ... فرصت هم نکردم که کدش را ببینم که اگه بشه مشکل R t L اونو حل کنیم ..

اگه پیداش کردم می فرستم برات.. شاید مشکلت را حل کرد
موفق باشید

ali2000_1358
سه شنبه 20 فروردین 1387, 12:20 عصر
sinpin (http://barnamenevis.org/forum/member.php?u=6235) جان دستتون درد نکنه جوابی که دادید دقیقا مشکل pooyansystem (http://barnamenevis.org/forum/member.php?u=34315) حل می کنه ولی اگر شرایطی باشدکه ما نخواهیم ویا نتوانیم مقدار dockمربوط به component مان را را fill کنیم
و اصلا چندتا component داشته باشیم (مثلا یک treeView و groupBox) چکار باید کرد

ali2000_1358
دوشنبه 26 فروردین 1387, 10:23 صبح
بابایکی پیدانمی شه جواب ماروبده