2011-01-10 11 views
1

私はMDIプログラムとして開始されたアプリケーションを継承しましたが、MDIを完全にサポートするために必要なバックグラウンド作業は行われませんでした。私は、アプリケーションを見栄え良くし、SDIアプリケーションとして適切に動作させるために十分なMDIサポートを構築しようとしています。重複するコントロールボックス

これは私が観察していることであり、どのように起こっているのか、それを修正する方法はわかりません。

  1. MDIchildフォームの境界線は、MDIparentフォームのメニューストリップの上に表示されます。
  2. MDIchildフォームには、左上に2つのアイコンがあります。
  3. MDIchildフォームには、右上に2つのコントロールボックスがあります。

alt text

これは次のようになり、なぜ任意のアイデア?

MDIChildウィンドウの境界線(アイコンとコントロールボックスを含む)が完全に削除された場合は、本当にうれしいです。

おかげで、 SH

答えて

0

私は子フォームを作成したが、通常の状態ではなく、最大化、それを示しました。これは、最大化された子フォームと同じプロセスで親フォームを表示しているように、フォームが順序どおりに構築されないようにします。私のコードは...

frmChild.WindowState = FormWindowState.Normal 
frmParent.Show() 'frmChild.Show called within form_load of parent 
frmChild.WindowState = FormWindowState.Maximized 

をこのような何かを見て、はい、私はNoneに子ウィンドウのFormBorderStyleを設定しますが、私が言ったように、私はMDIアプリケーションを望んでいませんでした。

これはVisual Studioのバグでなければならないと思います。非常に多くの人々がそれに苦労するのは、正しいことではありません。

0

私が見つかりました:

コールショー()あなたのMDIフォーム上で複数のコントロールボックスを取り除くために、あなたの子フォーム上のWindowStateプロパティを設定する前に。

デザイナーでWindowStateをMaximizedに設定しないでください。親を表示した後にコードで行います。