حجم / موقع WinForms عناصر منطقة العميل MDI
سؤال
وداخل نموذج MDI هو منطقة العميل الذي يستضيف MDI التابع النماذج. كيف يمكنني معرفة كيفية كبيرة أن المنطقة؟ أفضل ما يمكن أن تصل حتى الآن هو العثور على الحجم الإجمالي للمنطقة العملاء المحتملين الوالدين (mdiparent.ClientRectangle) ومن ثم طرح من أحجام المكونات مثل أشرطة الأدوات، وغيرها التي تتخذ بعيدا عن منطقة العميل. هل هناك طريقة أفضل؟
المحلول
وليس هناك خاصية على الشكل الذي يتيح لك الوصول إلى إطار العميل MDI. ولكن يمكنك العثور عليه مرة أخرى من هذا القبيل:
public MdiClient GetMdiClientWindow() {
foreach (Control ctl in this.Controls) {
if (ctl is MdiClient) return ctl as MdiClient;
}
return null;
}
ومن هناك، ومجرد استخدام خاصية حجم لها.
نصائح أخرى
إليك البديل من هذا الرمز في vb.net:
Public Function GetMdiClientWindowSize() As Size
For Each ctl As Control In Me.MdiParent.Controls
If TypeOf ctl Is MdiClient Then
Return ctl.Size
End If
Next
Return Nothing
End Function
لا تنتمي إلى StackOverflow