syncfusion-winforms-splitcontainer について
Windows Forms で Syncfusion の SplitContainerAdv を使い、サイズ変更可能な 2 ペインレイアウトを作るための開発者向けスキルです。方向やペインの動作、外観、スプリッターのイベントを扱います。
主な機能
- 01サイズ変更可能な 2 ペインレイアウト
- 02水平・垂直方向の切り替え
- 03ペインの折りたたみと展開
- 04スプリッターの外観設定
- 05移動イベントの処理
- 06コンテナーの入れ子
活用シーン
- 01サイズ変更可能なフォームレイアウトの作成
- 02固定サイドバーと調整可能なペインの構成
- 03折りたたみ可能なペインの追加
- 04スプリッター移動への応答
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ syncfusion/ winforms-ui-components-skills --skill syncfusion-winforms-splitcontainerインストール後、Claude Code で/syncfusion-winforms-splitcontainerを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/appearance-styling.mdevents-handling.mdgetting-started.mdpanel-configuration.mdsplitter-customization.md詳細
Windows Forms での SplitContainerAdv の実装
SplitContainerAdv は、移動可能なスプリッターバーを使って、サイズ変更可能な 2 つのパネルレイアウトを作成できるコンテナーコントロールです。フォーム内で柔軟にパネルを分割する必要がある場合に使用します。
このスキルを使用する場面
次のような場合にこのスキルを使用します。
- Windows Forms アプリケーションでサイズ変更可能な分割パネルレイアウトを作成する
- コンテナー内の別々のパネルにコントロールを追加する
- スプリッターをドラッグしてユーザーがパネルのサイズを変更できるようにする
- 水平方向または垂直方向のパネルの向きを設定する
- スプリッターの外観と動作をカスタマイズする
- パネルを動的に折りたたんだり展開したりする
- パネルのサイズ変更イベントを処理する
コンポーネントの概要
SplitContainerAdv には、次の機能があります。
- スプリッターで区切られた、サイズ変更可能な 2 つのパネル(Panel1 と Panel2)
- 水平方向と垂直方向の向きに対応
- パネルの折りたたみ/展開機能
- スプリッターの外観を幅広くカスタマイズ可能
- スプリッターの移動に関するイベント処理
- 入れ子になったコンテナーをサポート(SplitContainerAdv 内に SplitContainerAdv を配置)
- 視覚的なスタイル設定
ドキュメントとナビゲーションガイド
はじめに
📄 参照: references/getting-started.md
- アセンブリの依存関係と NuGet のセットアップ
- 新しい Windows Forms プロジェクトの作成
- デザイナーを使った SplitContainerAdv の追加
- プログラムによる SplitContainerAdv の追加
- パネルへの子コントロールの追加
- スプリッターの向きの設定
パネルの設定
📄 参照: references/panel-configuration.md
- パネルの向き(水平方向と垂直方向)
- 固定パネルとサイズ変更可能なパネル
- パネルの最小サイズの制約
- 実行時のパネルの折りたたみと展開
- パネル固有のプロパティと動作
スプリッターのカスタマイズ
📄 参照: references/splitter-customization.md
- スプリッターの距離と位置
- スプリッターの固定設定
- スプリッターの幅と増分設定
- サムネイル矢印とグリップの外観
- ホバー状態のカスタマイズ
- 実行時の外観変更
外観とスタイル
📄 参照: references/appearance-styling.md
- 背景色の設定
- 前景のプロパティ(フォント、色)
- 境界線のスタイル設定
- パネルごとの外観の上書き
- グラデーションとブラシのカスタマイズ
イベントと操作
📄 参照: references/events-handling.md
- SplitterMoved イベントの処理
- SplitterMoving イベントの処理
- 一般的なイベントパターン
- イベント引数とデータへのアクセス
- スプリッターの移動の防止
クイックスタートの例
SplitContainerAdv の基本的な実装:
// Create and configure SplitContainerAdv
SplitContainerAdv splitContainer = new SplitContainerAdv();
splitContainer.Dock = DockStyle.Fill;
splitContainer.Orientation = Orientation.Horizontal;
splitContainer.SplitterDistance = 150;
// Add controls to panels
Label label1 = new Label { Text = "Panel 1", Dock = DockStyle.Fill };
Label label2 = new Label { Text = "Panel 2", Dock = DockStyle.Fill };
splitContainer.Panel1.Controls.Add(label1);
splitContainer.Panel2.Controls.Add(label2);
// Add to form
this.Controls.Add(splitContainer);
' Create and configure SplitContainerAdv
Dim splitContainer As New SplitContainerAdv()
splitContainer.Dock = DockStyle.Fill
splitContainer.Orientation = Orientation.Horizontal
splitContainer.SplitterDistance = 150
' Add controls to panels
Dim label1 As New Label With {.Text = "Panel 1", .Dock = DockStyle.Fill}
Dim label2 As New Label With {.Text = "Panel 2", .Dock = DockStyle.Fill}
splitContainer.Panel1.Controls.Add(label1)
splitContainer.Panel2.Controls.Add(label2)
' Add to form
Me.Controls.Add(splitContainer)
よくあるパターン
パターン 1:左パネルを固定し、右パネルをサイズ変更可能にする
splitContainer.Orientation = Orientation.Vertical;
splitContainer.FixedPanel = FixedPanel.Panel1;
splitContainer.Panel1MinSize = 200;
splitContainer.SplitterDistance = 200;
パターン 2:折りたたみ可能なパネル
splitContainer.PanelToBeCollapsed = CollapsedPanel.Panel2;
splitContainer.TogglePanelOn = TogglePanelOn.DoubleClick;
パターン 3:均等なサイズの垂直レイアウト
splitContainer.Orientation = Orientation.Vertical;
splitContainer.SplitterDistance = splitContainer.Height / 2;
splitContainer.Panel1MinSize = 50;
splitContainer.Panel2MinSize = 50;
主なプロパティ
| プロパティ | 型 | 用途 |
|---|---|---|
Orientation | Orientation | 水平方向または垂直方向の分割を設定します(既定値:Horizontal) |
SplitterDistance | int | 端からスプリッターバーまでの距離(ピクセル単位) |
FixedPanel | FixedPanel | サイズ変更中に固定されるパネル(Panel1、Panel2、または None) |
Panel1Collapsed | bool | Panel1 を非表示にするかどうか |
Panel2Collapsed | bool | Panel2 を非表示にするかどうか |
IsSplitterFixed | bool | スプリッターを移動できるかどうか |
SplitterWidth | int | スプリッターバーの幅(ピクセル単位) |
Panel1MinSize | int | Panel1 の最小サイズ(既定値:25) |
Panel2MinSize | int | Panel2 の最小サイズ(既定値:25) |
ExpandFill | BrushInfo | 展開矢印の塗りつぶし色 |
HotGripDark | BrushInfo | ホバー時のグリップの色 |
クイックヒント
- デフォルトの方向: 左右に分割するには
Orientation.Horizontal、上下に分割するにはOrientation.Verticalを使用します - 最小サイズ: パネルが小さくなりすぎないように、
Panel1MinSizeとPanel2MinSizeを設定します - 固定パネル: 片側をリサイズできないようにするには
FixedPanelを使用します。ツールバーやサイドバーに便利です - パネルの折りたたみ:
TogglePanelOn = TogglePanelOn.DoubleClickの場合、分割バーをダブルクリックすると折りたためます - 入れ子のコンテナー: 複雑なレイアウトを作成するには、別の SplitContainerAdv のパネルに SplitContainerAdv を追加します
- ドッキング: コントロールを親コンテナーいっぱいに表示するには、
Dock = DockStyle.Fillを使用します
コメント
Markdown 対応