DockPanel Suiteを使用していますが、ドキュメントが比較的少ないために問題が発生しました。
「サイド」と呼ばれる左右にドッキングするパネルと、「ボトム」と呼ばれる下部にドッキングするパネルの 2 つのドッキングされたパネルがあります。Side でフォームの高さを埋め、Bottom で残りを埋めたいと思います。
だから私が目指しているのはこれです:
しかし、私が代わりに持っているのはこれです:
プログラムを実行すると、2 番目のバリアントが得られます。Bottom をドラッグしてフロートさせてからドラッグすると、希望どおりにドッキングされますが、プログラムでこれを実現することはできません。
これが私のコードです:
public Form1()
{
InitializeComponent();
SideForm side = new SideForm();
side.Show(dockPanel, DockState.DockRight);
BottomForm bottom = new BottomForm();
bottom.Show(dockPanel, DockState.DockBottom);
}
順序を変更してみましたが、効果がありません。さまざまなプロパティとメソッドを調べてみましたが、ドキュメントがあまりないため、ここでは IntelliSense はあまり役に立ちません。
アップデート
2 人が提案したように、サイド パネルを前面に移動したり、ボトム パネルを背面に移動したりしてみましたが、効果はありませんでした。そのための完全なコードは次のとおりです。
public Form1()
{
InitializeComponent();
SideForm side = new SideForm();
side.Show(dockPanel, DockState.DockRight);
BottomForm bottom = new BottomForm();
bottom.Show(dockPanel, DockState.DockBottom);
// I've tried enabling these one at a time, and even both at once, no effect
side.BringToFront();
bottom.SendToBack();
}
ユーザーの Lex Li は、最初にドキュメントを作成してから、その下部にドッキングすることについて別の提案をしました。次のように、下のウィンドウに何も表示されないことを除いて、それは機能しているように見えました。
これを作成するために使用したコードは次のとおりです。
doc = new Document();
doc.Show(dockPanel, DockState.Document);
side = new SideForm();
side.Show(dockPanel, DockState.DockRight);
bottom = new BottomForm();
bottom.Show(doc.Pane, DockAlignment.Bottom, 0.3);
メインドックパネルのDocumentStyle
プロパティをDockingMdi
またはDockingWindow
に設定することでこれを回避できます。これにより、次のようになります。
しかし、それらのタブはそこにありますが、これは望ましくありません。DockingSdi
私はスタイルを使用することを好みます。
だから、私は次のようにプログラムで一番下までドッキングを達成しようとしています: ドックの場所を表示しています...
そして最後に、ドッキングされたウィンドウ