PDA

View Full Version : فرم نمایش داده شده هم به همراه فرم mdi مینیمایز شود



S_VB.max
پنج شنبه 04 شهریور 1389, 17:28 عصر
سلام
من می خوام از فرم mdi یک فرمی را نمایش بدم بطوریکه بعد از باز شدن فرم ، فرم mdi را هم بتونم روش کلیک کنم و اگه دوباره دکمه نمایش فرم را زدم دیگه فرم جدیدی باز نشه و از همه مهمتر می خوام وقتی فرم mdi را مینیمایز کردم اون فرم باز شده هم به همراش مینیمایز بشه

S_VB.max
جمعه 05 شهریور 1389, 09:07 صبح
من این مشکلو تا اندازه ای حلش کردم سورسشم برا دانلود گذاشتم اما نمی دونم چجوری وقتی فرم mdi را مینیمایز کردم اون فرم باز شده هم به همراش مینیمایز بشه
ممنون میشم راهنمایی کنید

mmd2009
جمعه 05 شهریور 1389, 09:26 صبح
با سلام.

اگر منظورتون اینه که وقتی Form1 مینی مایز شد فرم MDIparent هم مینی سایز بشه میتونی از این کد تو رویداد SizeChanged مربوط به Form1 استفاده بکنی



if (this.WindowState == FormWindowState.Minimized)
{
Application.OpenForms["MDIParent1"].WindowState = FormWindowState.Minimized;

}

S_VB.max
جمعه 05 شهریور 1389, 10:02 صبح
ممنون دوست عزیز
حالا اگه از فرم mdi بجای اون فرم ، یک فایل اجرایی باز بشه در این صورت چه کدی باید نوشته بشه

mmd2009
جمعه 05 شهریور 1389, 10:34 صبح
دوست عزیز شما میتونید با ساتفاده از Invoke تمامی پنجره های باز شده رو مینی سایز کنید

کدش هم به صورت زیر هستش



Type typeS = null;
object os = Type.Missing;
typeS = Type.GetTypeFromProgID("Shell.Application");
os = Activator.CreateInstance(typeS);
typeS.InvokeMember
("MinimizeAll", System.Reflection.BindingFlags.InvokeMethod, null, os, null);

S_VB.max
جمعه 05 شهریور 1389, 11:00 صبح
بازم تشکر
من فقط می خوام یک پنجره ای که با زدن دکمه باز شده را مینیمایز کنم کار به پنجره های دیگه ندارم

mmd2009
جمعه 05 شهریور 1389, 11:03 صبح
ببخشید ولی سوالتون نامفهمونه.

یعنی از MDI یک برنامه اجرایی رو باز کنید و اگر اون برنامه ی اجرایی مینی مایز شد این MDI هم مینی مایز بشه ؟

S_VB.max
جمعه 05 شهریور 1389, 11:05 صبح
من روی فرم mdi یک دکمه گذاشتم وقتی روی اون کلیک می کنم یک برنامه اجرایی باز میشه حالا می خوام وقتی فرم mdi را مینیمایز کردم تنها همون برنامه ای که من بازش کردم هم به همراه mdi مینیمایز بشه

manij_mhm
جمعه 05 شهریور 1389, 12:01 عصر
سلام
من می خوام از فرم mdi یک فرمی را نمایش بدم بطوریکه بعد از باز شدن فرم ، فرم mdi را هم بتونم روش کلیک کنم و اگه دوباره دکمه نمایش فرم را زدم دیگه فرم جدیدی باز نشه و از همه مهمتر می خوام وقتی فرم mdi را مینیمایز کردم اون فرم باز شده هم به همراش مینیمایز بشه

سلام.
اگه جایی که فرم فرزند و تعریف کردید

frm = new Form1();
کد زیر رو هم اضافه کنید

frm.MdiParent = this;
مشکلتون حل میشه.

موفق باشید.

S_VB.max
جمعه 05 شهریور 1389, 18:10 عصر
frm.MdiParent = this;
.
می خوام فرم باز شده روی فرم mdi قرار بگیره اگه اینو بنویسم فرم جدید داخل فرم mdi قرار می گیره