PDA

View Full Version : گفتگو: قرار گرفتن کنترلهای موجود در فرم پدر در جلوی فرمهای فرزند در VB.net



ali_najari
شنبه 15 بهمن 1390, 13:52 عصر
با سلام و خسته نباشید
من یه مشکلی واسم پیش اومده که خیلی وقته روش کار کردم ولی به نتیجه نرسیدم و مشکلم اینه که زمانی که فرم اصلی را فرم پدر قرار میدی و یکسری Button اخلش اضافه میکنی وقتی فرم فرزند را داخل فرم پدر باز میکنی کنترلهای ایجاد شده جلوی فرم فرزند قرار میگیرند!

چطوری میشه فرم فرزند را داخل فرم پدر باز کرد بصورتی که کنترلهای موجود در فرم پدر پشت فرم فرزند قرار بگیرند نه جلوی آن؟

b.saminjad
شنبه 15 بهمن 1390, 16:27 عصر
سلام

دوست عزیز میتونی با لود شدن فرم کنترلهای روی فرم اول رو send to back کنی و با فعال شدن فرم bring to front

ali_najari
شنبه 15 بهمن 1390, 22:24 عصر
سلام

دوست عزیز میتونی با لود شدن فرم کنترلهای روی فرم اول رو send to back کنی و با فعال شدن فرم bring to front

من از این خاصیت هم استفاده کردم ولی اینطوری باید مدام چک کنم که آیا همه فرم ها باز هست یا نه و اگر باز نیست بیام کنترل ها رو BringtoFront کنم!
میخوام اگر بشه از این شیوه استفاده نکنم!

shadi khanum
شنبه 15 بهمن 1390, 22:41 عصر
بال این کد مشکلتون حل میشه.. این کد رو موقع نمایش فرم دوم استفاده کن و فرض بر اینه که form2 همون فرمیه که قرار باز بشه
Dim f As New Form2
f.TopLevel = False
f.Parent = Me
f.BringToFront()
f.Show()

ali_najari
شنبه 15 بهمن 1390, 23:03 عصر
بال این کد مشکلتون حل میشه.. این کد رو موقع نمایش فرم دوم استفاده کن و فرض بر اینه که form2 همون فرمیه که قرار باز بشه
Dim f As New Form2
f.TopLevel = False
f.Parent = Me
f.BringToFront()
f.Show()

دوست عزیز اینطوری که شما میگید Form2 در داخل فرم اصلی باز نمیشه و فقط واسش Parent تعریف میکنید من میخوام MDIParent تعریف کنم که با Minimize کردن هم مشکلی نداشته باشه و وقتی MINIMIZE میکنم داخل خود فرم اصلی MINIMIze کنه واسم

shadi khanum
شنبه 15 بهمن 1390, 23:48 عصر
دوست عزیز وقتی واسه یه فرم parent تعریف میکنید فرم دوم داخل فرم اول باز میشه و امکان خروج از فرم اول رو نداره و ضمنا وقتی هم minimizeش کنید توی فرم والد مینیمایز میشه و ضمنا روی کنترل های فرم والد هم قرار میگیره
بهتر بود یه تست اول انجام بدید...
این کد چیزهایی که میخواید رو انجام میده

b.saminjad
یک شنبه 16 بهمن 1390, 09:07 صبح
سلام


دوست عزیز اینطوری که شما میگید Form2 در داخل فرم اصلی باز نمیشه و فقط واسش Parent تعریف میکنید من میخوام MDIParent تعریف کنم که با Minimize کردن هم مشکلی نداشته باشه و وقتی MINIMIZE میکنم داخل خود فرم اصلی MINIMIze کنه واسم اگه میخای mdi باشه فقط باید کار پست اولو انجام بدی ولی اگه فقط میخای داخل فرم اول باشه از خاصیت parent استفاده کن (دوست عزیز shadi khanum (http://barnamenevis.org/member.php?106269-shadi-khanum) توضیح دادن )


با Minimize کردن هم مشکلی نداشته باشه و وقتی MINIMIZE میکنم داخل خود فرم اصلی

خاصیت ismdi... فرم رو true نذار

hadidan
چهارشنبه 10 اسفند 1390, 23:26 عصر
بال این کد مشکلتون حل میشه.. این کد رو موقع نمایش فرم دوم استفاده کن و فرض بر اینه که form2 همون فرمیه که قرار باز بشه
Dim f As New Form2
f.TopLevel = False
f.Parent = Me
f.BringToFront()
f.Show()
من هم همین مشکل رو دارم وبا این کد هیچ فرقی نکرد! وقتی فرم فرزند رو باز میکنم ، دکمه های فرم والد روی این فرم میاند.
البته من در سیشارپ اینطوری نوشتم:
frmNewStudent frm = new frmNewStudent();
frm.TopLevel = false;
frm.MdiParent = this;

frm.BringToFront();

frm.Show();

mostafaaa
پنج شنبه 11 اسفند 1390, 13:11 عصر
سلام
وقتی خاصیت IsMdiContainer یک فرم رو برابر True قرار میدیم درواقع یک کنترل MdiClient به فرمت اضافه میکشه که این کنترل جزء Control Container ها نیست بنابراین شما نمی تونید روی این کنترل کنترل دیگه ای از قبیل TextBox و یا Button داشته باشید.
در واقع زمانی که از MDI ها صحبت میکنیم با Multiple-Document Interface سرو کار داریم نه کنترل ها. آگاهی از کانسپت و نحوه استفاده و از کنترل ها و اشیاء داتنت باعث میشه که وقتتون رو برای پیدا کردن راه حل های غیر متعارف هدر ندین.

hadidan
پنج شنبه 11 اسفند 1390, 17:05 عصر
سلام
وقتی خاصیت IsMdiContainer یک فرم رو برابر True قرار میدیم درواقع یک کنترل MdiClient به فرمت اضافه میکشه که این کنترل جزء Control Container ها نیست بنابراین شما نمی تونید روی این کنترل کنترل دیگه ای از قبیل TextBox و یا Button داشته باشید.
در واقع زمانی که از MDI ها صحبت میکنیم با Multiple-Document Interface سرو کار داریم نه کنترل ها. آگاهی از کانسپت و نحوه استفاده و از کنترل ها و اشیاء داتنت باعث میشه که وقتتون رو برای پیدا کردن راه حل های غیر متعارف هدر ندین.
دوست عزیز حق با شماست ولی همیشه یک راهی هست ، حتی اگه غیر متعارف باشه! مثلاٌ الان فکری به ذهنم رسید ، که مشکلم رو فکر کنم حل بشه! میتونم همه دکمه ها رو داخل کنترل groupBoxقرار بدم وقتی فرم فرزند فعال شد(Activated) خاصیت Visable کنترل groupBoxفرم والد را False کنم و وقتی فرم والد فعال شد True کنم و بقیه قضایا...