MDI表单内部是托管mdi子表单的客户端区域。我如何知道该区域有多大?到目前为止,我能想出的最好的方法是找到父级潜在客户区域的总大小(mdiparent.ClientRectangle),然后减去从客户区域带走的工具栏等组件的大小。还有更好的方法吗?
答案 0 :(得分:20)
表单上没有可以访问MDI客户端窗口的属性。但你可以这样找回来:
public MdiClient GetMdiClientWindow() {
foreach (Control ctl in this.Controls) {
if (ctl is MdiClient) return ctl as MdiClient;
}
return null;
}
从那里,只需使用它的Size属性。
答案 1 :(得分:1)
以下是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