2003/12/8
.NETのMDIの挙動について。
Form.IsMdiContainerをtrueにしMDIChildとなるFormのForm.MdiParentに割り当てます。
class MyForm : System.Windows.Forms.Form {
public MyForm() {
this.IsMdiContainer = true;
}
void NewMdiChild() {
System.Windows.Forms.Form form
= new System.Windows.Forms.Form();
form.MdiParent = this;
form.Show();
}
}
位置・サイズはForm.StartPositionで変化します。WindowsDefaultLocationを指定すると位置・サイズを勝手に決めてくれます。
Form.WindowStateがNormalの時で以前にアクティブなウィンドウが最大化されている場合、自動的に最大化されます。
Form.ActiveMdiChildを参照します。MDIChildが存在しないなどでnullの場合があるので注意。
MdiChildがメニューバーを持つ場合MDIコンテナFormのメニューバーにマージされます。
MdiChildは子ウィンドウなのでレイヤードウィンドウ機能は使うことはできません。
Copyright(C)方位記号