mcpField
S
syncfusion-winforms-commandbar

syncfusion-winforms-commandbar

github.com/syncfusion開発280 回インストール2 週間前に更新
リポジトリ

syncfusion-winforms-commandbar について

Syncfusion Windows Forms の CommandBar を実装するための開発者向けスキルです。ドッキングやフローティング、コントロールの配置、外観設定、レイアウト状態の保存を扱います。

主な機能

  1. 01ドッキングとフローティングに対応するバー
  2. 02ボタンやメニューなどの配置
  3. 03外観と操作のカスタマイズ
  4. 04バーのレイアウト保存と復元

活用シーン

  1. 01Office風のツールバー画面の構築
  2. 02バーの配置変更とレイアウト復元
  3. 03ツールバーへの検索・フィルター追加
  4. 04下部にドッキングするステータスバーの作成

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/syncfusion/winforms-ui-components-skills --skill syncfusion-winforms-commandbar

インストール後、Claude Code で/syncfusion-winforms-commandbarを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
appearance-customization.md
getting-started.md
hosting-controls.md
interactive-features.md
serialization.md

詳細

Windows Forms CommandBar の実装

CommandBar コントロールは、Visual Studio や Office のインターフェイスに似たツールバー、リバー、ステータスバーを作成してホストするための包括的なフレームワークを提供します。ドッキング、フローティングウィンドウ、状態の永続化、カスタムコントロールのホストに対応しています。

このスキルを使用するタイミング

次のような場合は CommandBar を使用します。

  • カスタマイズ可能なツールバーやステータスバーを作成する
  • ドッキング/フローティング機能を備えた Office のような UI を実装する
  • ユーザーがバーを移動、並べ替えできるようにする
  • セッションをまたいでバーのレイアウト状態を保存、復元する
  • ドロップダウン、テキストボックス、ボタンなどのコントロールをホストする
  • 複雑な複数バーのコマンドフレームワークを構築する

CommandBar の概要

CommandBar は、複数の CommandBar インスタンスを管理する CommandBarController コンポーネントを介して動作します。各バーはコントロールをホストでき、フォームの各辺にドッキングしたり、独立したウィンドウとしてフローティングしたりでき、状態遷移時にイベントを発生させます。バーをシリアル化して、ユーザーによるカスタマイズを保持できます。

ドキュメントとナビゲーションガイド

はじめに

📄 参照: references/getting-started.md

  • アセンブリの依存関係と NuGet のセットアップ
  • デザイナーとコードによる CommandBar の追加
  • HostForm を使用した CommandBarController の作成
  • 子コントロールの追加(単一および複数)
  • コード中心の初期化パターン
外観のカスタマイズ

📄 参照: references/appearance-customization.md

  • ボタン(閉じる、シェブロン、ドロップダウン)のカスタマイズ
  • カーソルとグリッパーの表示制御
  • 背景色のカスタマイズ(ドッキングされたバーと CommandBar)
  • テキスト表示の設定とフォントのスタイル指定
  • 表示プロパティの設定
インタラクティブ機能

📄 参照: references/interactive-features.md

  • フローティングバーとフロートモードの折り返し
  • ドッキングモードとドック状態の管理
  • ドック境界の制限
  • イベント処理(状態変更、折り返し、終了)
  • イベントのサブスクリプション例一式
コントロールのホスト

📄 参照: references/hosting-controls.md

  • ドロップダウン機能のための PopupMenu の統合
  • メニュー項目用の XPToolBar の追加
  • デザイナーとコードによる統合
  • 複雑なレイアウト向けのコンテナパターン
シリアル化

📄 参照: references/serialization.md

  • 永続化のサポートと状態管理
  • AppStateSerializer クラスの使用方法
  • XML、Binary、Registry、IsolatedStorage の形式
  • 読み込みと保存のワークフロー
  • アプリケーション起動時の状態復元

クイックスタートの例

using Syncfusion.Windows.Forms.Tools;
using System.Windows.Forms;

public partial class Form1 : Form
{
    private CommandBarController commandBarController1;
    private CommandBar commandBar1;

    public Form1()
    {
        InitializeComponent();
        
        // Create controller
        commandBarController1 = new CommandBarController();
        commandBarController1.HostForm = this;
        
        // Create command bar
        commandBar1 = new CommandBar();
        commandBar1.Text = "Main Toolbar";
        commandBarController1.CommandBars.Add(commandBar1);
        
        // Add child controls
        TextBox textBox1 = new TextBox();
        commandBar1.Controls.Add(textBox1);
    }
}

よくあるパターン

Office のようなレイアウト
  • メインメニュー項目には Top CommandBar を使用します(XPToolBar 経由)
  • 書式設定ツールバーには追加の CommandBar を使用します
  • 各バーを個別にドッキング/フローティングできるようにします
  • AllowedDockBorders を設定して配置場所を制限します
レスポンシブなツールバー
  • スペースが限られたレイアウトでは FloatModeWrapping を有効にします
  • シェブロンを使ってオーバーフローした項目を処理します
  • コンテキストに応じてコントロールを動的に追加します
状態の永続化
  • CommandBarController で PersistState を有効にします
  • Form_Load イベントで状態を読み込みます
  • Form_Closing イベントで状態を保存します
  • 保存先の設定に合ったシリアル化形式を使用します

主なプロパティ

CommandBarController

  • HostForm - すべてのコマンドバーを含むフォーム(必須)
  • CommandBars - CommandBar インスタンスのコレクション
  • PersistState - 状態の永続化を有効/無効にします
  • BackColor - ドッキングされたバー領域の色
  • Style - 表示スタイル(Office、Metro など)

CommandBar

  • Text - ドッキング/フローティングモードでの表示名
  • DockState - 現在の位置(Top、Bottom、Left、Right)
  • DisableDocking - ドッキングを禁止します(フローティングモードを強制)
  • DisableFloating - フローティングを禁止します(ドッキングモードを強制)
  • AllowedDockBorders - ドッキングできる辺を制限します
  • FloatModeWrapping - フローティングモードでのコンテンツの折り返しを有効にします
  • HideGripper - ドラッグハンドルを非表示にします
  • HideCloseButton - フローティングモードで閉じるボタンを非表示にします
  • HideChevron - オーバーフローメニューボタンを非表示にします

一般的な使用例

1. Visual Studio のようなインターフェース

  • 異なる機能を持つ複数のドッキングされたツールバー
  • フローティング可能なツールウィンドウ
  • ユーザーのレイアウト設定を保存
  • アプリケーションの再起動後に復元

2. カスタマイズ可能なダッシュボード

  • ユーザーが特定のバーの表示/非表示を切り替えられるようにする
  • 必要に応じてバーの位置を変更
  • 設定にレイアウトを保持
  • モードごとに異なるレイアウト

3. 複数のコントロールを備えた単一のツールバー

  • 検索用のテキストボックスを配置
  • フィルタリング用のドロップダウンを配置
  • 操作用のボタンを配置
  • ウィンドウのサイズ変更に対応

4. ステータスバーの実装

  • CommandBar を下部にドッキング
  • ステータスラベルと進捗インジケーターを追加
  • フローティングと移動を無効化(DisableDocking = true)
  • アプリケーションの状態に応じて内容を更新

コメント