سؤال

وداخل نموذج 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
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top