複数の子ウィンドウを開く MDI フォームがあります。アクティブな mdi 子ではない子フォームのタイトル バーをクリックすると、その子がアクティブになり、最大化されることに気付きました。タイトル バー以外の場所でアクティブ化されていない子をクリックすると、この動作は発生しません。この場合、最大化を無効にするにはどうすればよいですか? タイトル バーの最大化ボタンを使用してフォームを最大化できるようにしたいと考えています。また、タイトル バーをダブルクリックしたときに (シングル クリックではなく) フォームを最大化できると便利です。このルーチンが問題の原因であることがわかりましたが、その方法はわかりません。このメソッドは、mdi 子のアクティブ化イベントが呼び出されるたびに呼び出されます。この特定のステートメントが問題を引き起こしています:「if (dv.Disk.IsOS9)」
private void UpdateDiskMenu()
{
if (this.ActiveMdiChild == null)
{
diskToolStripMenuItem.Enabled = false;
}
else
{
diskToolStripMenuItem.Enabled = true;
DiskViewer dv = (DiskViewer)this.ActiveMdiChild;
if (dv.Disk.IsOS9) // <----- Problem occurs here.
{
//if (((OS9Format)dv.Disk).BootstrapLSN > 0)
// bootstrapToolStripMenuItem.Enabled = true;
//else
// bootstrapToolStripMenuItem.Enabled = false;
}
}
}