2

私のプロジェクトの 1 つは、WeiFen Luo の DockPanel Suite http://dockpanelsuite.com/を使用しています。現在、顧客は、ドキュメント ビューで特定の順序でタブを並べ替えるよう要求しています。

タブはすべて同じ DockContent 派生クラスのインスタンスです。ソートするフロートを運びます。

DockPanel.Contents は、悲しいことに、他のコレクションのような Sort メソッドを提供しない DockContentCollection です。また、正しい順序で追加するためにそこから DockContents を削除することもできません。

ただし、ユーザーはタブをドラッグして別のタブにドロップして順序を変更できます。

プログラムで「tab1をtab2の場所に挿入する」方法を知っている人はいますか?

ライブラリに依存するフォーラムで質問する必要があることはわかっています。そこにある「質問の仕方」のエントリがここにつながります。

4

1 に答える 1

0

サンプル プロジェクトのメソッドを掘り下げると、MainForm.menuItemLayoutByCode_ClickC# コードでレイアウトを制御する方法がわかります。

doc1.Show(dockPanel, DockState.Document);
doc2.Show(doc1.Pane, null);
doc3.Show(doc1.Pane, null);
doc4.Show(doc1.Pane, null);

上記のコードの効果は、Document4 がアクティブなタブとして表示され、前の 3 つが順番に表示されることです。

したがって、Document1 と Document2 を移動するには、次を使用できます。

doc1.Show(dockPanel, DockState.Document);
doc2.Show(doc1.Pane, null);
doc3.Show(doc1.Pane, null);
doc4.Show(doc1.Pane, null);
doc1.Show(doc1.Pane, null);
doc2.Show(doc1.Pane, null);

分かりますか?これは単なるスタックであり、順序を完全に制御できます。

于 2015-01-25T12:39:00.637 に答える