PDA

View Full Version : اندازه فعلی برنامه از داخل فرمهای فرزند



Mrs.Net
یک شنبه 04 فروردین 1387, 20:34 عصر
یک برنامه mdi دارم و داخل یکی از فرمهای فرزند میخوام اندازه و موقعیت فعلی برنامه روی دسکتاپ بفهمم (نسبت به دسکتاب)
چجوری میتونم؟ (بجز درست کردن یک پراپرتیز)

sinpin
یک شنبه 04 فروردین 1387, 22:35 عصر
یک برنامه mdi دارم و داخل یکی از فرمهای فرزند میخوام اندازه و موقعیت فعلی برنامه روی دسکتاپ بفهمم (نسبت به دسکتاب)
چجوری میتونم؟ (بجز درست کردن یک پراپرتیز)
مطمئن نیستم منظورتون رو دقیق گرفته باشم :

Form parent = this.MdiParent;
Rectangle mainBounds = new Rectangle(parent.Location, parent.Size);
Rectangle desktopBounds = Screen.PrimaryScreen.Bounds;

Mrs.Net
دوشنبه 05 فروردین 1387, 10:05 صبح
درسته اما فرمی که میخوام توش اینکار انجام بدم بصورت ShowDialog باز شده و از داخل فرم فرزند باز شده (بالا کامل ننوشتم )
دقیقتر اینکه میخوام بدونم راهی هست مثل استفاده از Application که بطور مستقیم سایز و موقعیت فرم اصلی برنامه برگردونه

Mahdi.Kiani
دوشنبه 05 فروردین 1387, 11:16 صبح
درسته اما فرمی که میخوام توش اینکار انجام بدم بصورت ShowDialog باز شده و از داخل فرم فرزند باز شده (بالا کامل ننوشتم )
دقیقتر اینکه میخوام بدونم راهی هست مثل استفاده از Application که بطور مستقیم سایز و موقعیت فرم اصلی برنامه برگردونه




//for location
Application.OpenForms["Form1"].Location


//for size
Application.OpenForms["Form1"].Size


به جای Form1 ، اسم فرم اصلیتون را بذارین

نگاهی هم به دو متد PointtoScreen() , PointToClient() بندازین، بدک نیست .. اعمال جالبی انجام میدن

Control.PointToClient Method (http://msdn2.microsoft.com/en-us/library/system.windows.forms.control.pointtoclient.aspx)






Computes the location of the specified screen point into client coordinates


Control.PointToScreen Method (http://msdn2.microsoft.com/en-us/library/system.windows.forms.control.pointtoscreen.aspx)





Computes the location of the specified client point into screen coordinates

Mrs.Net
دوشنبه 05 فروردین 1387, 16:31 عصر
Application.OpenForms["Form1"].Location


ممنون
اون دوتا متد میدونستم.