MDI フォーム内には、mdi 子フォームをホストするクライアント領域があります。その領域の広さを知るにはどうすればよいですか? これまでのところ、親の潜在的なクライアント領域 (mdiparent.ClientRectangle) の合計サイズを見つけてから、クライアント領域から離れているツールバーなどのコンポーネントのサイズを差し引くことです。より良い方法はありますか?
10321 次
2 に答える
22
MDI クライアント ウィンドウにアクセスできるフォームのプロパティはありません。しかし、次のように戻すことができます。
public MdiClient GetMdiClientWindow() {
foreach (Control ctl in this.Controls) {
if (ctl is MdiClient) return ctl as MdiClient;
}
return null;
}
そこから、その Size プロパティを使用するだけです。
于 2009-03-02T22:21:00.373 に答える
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
于 2009-03-03T03:17:27.370 に答える