2017-10-28 19 views
0

私はちょっと迷惑です。私はその中にMDI.Parentフォームをいくつかの青色のチャンネルがあります。子フォームを呼び出すと、子フォームが青いパネルの後ろに表示されます。私はこれを期待していませんでしたが、パネルはランタイムに既に存在していましたが、子フォームは後者と呼ばれていました(私は、新しいアイテムが一番上にあったと思います。vb.netの子フォームが親フォーム内のパネルコントロールの背後にある

私はこれをどのように修正すればよい...イムこの

+0

MDI is old ...子フォームを 'Me.Controls.Add(yourForm)'を介して直接コントロールとして追加します。 –

+0

パネルを親の端にドッキングする必要があります。 –

答えて

2

ためVb.netを使用して修正するためには何もありません。それが動作する方法です。

フォームのIsMdiContainerプロパティをTrueに設定すると、実際にはMdiClientコントロールがフォームに追加され、子フォームのホストとして機能します。あなたが見る灰色の背景は、フォームではなく、実際にそのコントロールです。 MDI子フォームを親に追加すると、MdiClientの子コントロールになります。

あなたのフォームにGroupBoxを追加し、その上にPanelを配置し、GroupBoxButtonを追加した場合、あなたはButtonPanelの上に見えることを期待するでしょうか?私は望んでいないだろう。これは変わりません。

子フォームは基本的にMdiClientコントロールの一部です。子フォームもカバーするものはすべて子フォームもカバーします。それ以外の場合はMDIを悪用しようとしています。​​を追加して、それらを親フォームの端にドッキングすることはできますが、フローティングコントロールを持たないはずです。

Imageを背景として表示したり、グラデーションなどを描画することはできますが、MdiClientはフォーム以外のコントロールをホストするようには設計されていないため、コントロールを追加することもできません。

+0

Jmcilhinneyそれは意味をなさない。私が試したもう一つの事は、青のパネルを保持し、以前と同様に "ペンスタイル"フォームをロードするロード時に子フォームを作成することです。この用量が働いても、私は新しい子供の形を最大にする必要がありますが、これにより、私の "ペンスタイル"の子供は​​最小と最大の大きさを260,300 ...に設定する最大の紛争になります。 –

関連する問題