mcpField
S
syncfusion-winforms-main-frame-bar-manager

syncfusion-winforms-main-frame-bar-manager

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

syncfusion-winforms-main-frame-bar-manager について

Windows Forms アプリのメニューとツールバーを管理する Syncfusion MainFrameBarManager の開発ガイドです。階層型コマンド、カスタマイズ、キーボード操作、状態保存、MDI メニューの統合を説明します。

主な機能

  1. 01階層型メニューとツールバーの構築
  2. 02メニューへの対話型コントロール追加
  3. 03ショートカットとニーモニックの設定
  4. 04ユーザーカスタマイズの保存
  5. 05MDI アプリでのメニュー統合
  6. 06取り外し可能なコマンドバーの作成

活用シーン

  1. 01入れ子項目を持つファイルメニューの作成
  2. 02ツールバーへの検索や選択コントロール追加
  3. 03ユーザーによるツールバー配置の保存
  4. 04MDI ウィンドウ間でのメニュー統合

インストール

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

$npx skills add https://github.com/syncfusion/winforms-ui-components-skills --skill syncfusion-winforms-main-frame-bar-manager

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

同梱ファイル

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

references/
detachable-command-bars.md
getting-started.md
interactive-features.md
keyboard-support.md
menu-item-types.md
menu-items-via-code.md
menu-items-via-designer.md
state-persistence-mdi.md

詳細

Syncfusion WinForms MainFrameBarManager の実装

このスキルを使用する場面

MainFrameBarManager コンポーネントは、次のような場合に不可欠です。

  • 階層型のメニュー構造(ファイル、編集、表示メニューとサブメニュー)を作成する
  • カスタマイズ可能なツールバーとコマンドバーを構築する
  • メニュー項目にキーボードショートカットとニーモニックを追加する
  • コンテキストメニューとインタラクティブなツールチップを実装する
  • メニューを統合した MDI(マルチドキュメントインターフェイス)アプリケーションに対応する
  • アプリケーションのセッション間でメニューとツールバーの状態を保持する
  • エンドユーザーが実行時にメニューのレイアウトをカスタマイズできるようにする

このコンポーネントは XP Menus Framework パターンに従っており、Windows Forms アプリケーション向けにプロフェッショナルなエンタープライズグレードのメニュー管理システムを提供します。

クイックスタートの例

// Create MainFrameBarManager
MainFrameBarManager mainFrameBarManager1 = new MainFrameBarManager();
mainFrameBarManager1.Style = Syncfusion.Windows.Forms.VisualStyle.Office2016Colorful;
mainFrameBarManager1.Form = this;

// Create a bar (menu container)
Bar fileBar = new Syncfusion.Windows.Forms.Tools.XPMenus.Bar();
fileBar.BarName = "File";
fileBar.Caption = "File";
fileBar.Manager = mainFrameBarManager1;

// Create parent menu item
ParentBarItem fileMenu = new ParentBarItem();
fileMenu.Text = "&File";

// Create sub-menu items
BarItem newItem = new BarItem() { Text = "&New" };
BarItem openItem = new BarItem() { Text = "&Open" };
BarItem exitItem = new BarItem() { Text = "E&xit" };

// Assign shortcuts and mnemonics
newItem.Shortcut = Shortcut.CtrlN;
openItem.Shortcut = Shortcut.CtrlO;
exitItem.Shortcut = Shortcut.AltF4;

// Build hierarchy
fileMenu.Items.AddRange(new BarItem[] { newItem, openItem, exitItem });
fileBar.Items.Add(fileMenu);

// Add to manager
mainFrameBarManager1.Items.AddRange(new BarItem[] { fileMenu, newItem, openItem, exitItem });
mainFrameBarManager1.Bars.Add(fileBar);
mainFrameBarManager1.Categories.Add("Menu");

一般的なパターン

パターン 1:複数レベルのメニューを作成する

サブメニュー(ファイル → 最近使った項目 → ドキュメント 1)には、入れ子になった ParentBarItem を作成します。関連する項目を親コンテナーの下にまとめます。

パターン 2:インタラクティブなコントロールを追加する

色選択には PopupControlContainer を含む DropDownBarItem、選択項目には ComboBoxBarItem、入力フィールドには TextBoxBarItem を使用します。

パターン 3:カスタマイズを実装する

AutoPersistCustomization を有効にすると、ユーザーがメニュー項目を並べ替え、その設定を自動的に保存できるようになります。

パターン 4:MDI アプリケーションとの統合

親フォームには MainFrameBarManager、子フォームには ChildFrameBarManager を使用します。RegisterMdiChildTypes() を呼び出すと、メニューが自動的に統合されます。

パターン 5:キーボード操作

Shortcut プロパティを設定し、Text で & 記号を使ってニーモニックを指定します(例:「&Save」は Alt+S を割り当てます)。

主なプロパティ

プロパティ型目的
FormFormメニューマネージャーを親フォームに関連付けます
StyleVisualStyleビジュアルスタイル(Office2016、XPBlue など)を設定します
BarsBarCollectionBar インスタンス(メニュー、ツールバー)のコレクションです
ItemsBarItemCollectionこのマネージャーが管理するすべての BarItem インスタンスです
CategoriesStringCollectionカスタマイズ UI でメニュー項目を整理するためのカテゴリです
AutoLoadToolBarPositionsbool起動時に保存済みのツールバーの位置を自動的に読み込みます
AutoPersistCustomizationboolメニューとツールバーのカスタマイズを自動的に保存します
DetachedCommandBarsCommandBarCollection切り離し可能な CommandBar インスタンスのコレクションです

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

はじめに

📄 参照先: references/getting-started.md

  • NuGet パッケージのセットアップとアセンブリ参照
  • MainFrameBarManager インスタンスの作成
  • ビジュアルスタイルとフォームの関連付けの設定
  • ライセンスキーの設定
メニューの構築

📄 参照先: references/menu-items-via-code.md

  • Bar インスタンスをプログラムで作成する
  • BarItem と ParentBarItem を追加する
  • 子項目の階層とサブメニュー
  • コード例を使ったイベントハンドラーの設定

📄 参照先: references/menu-items-via-designer.md

  • デザイナーを使ったメニューの作成(ドラッグ&ドロップ)
  • バーと項目のカスタマイズダイアログ
  • UI によるビジュアルな配置
  • アセンブリ参照の自動追加
メニュー項目の種類と機能

📄 参照先: references/menu-item-types.md

  • BarItem(基本的なクリック可能項目)
  • ParentBarItem(サブメニューのコンテナー)
  • DropDownBarItem(カスタムポップアップコントロール)
  • ComboBoxBarItem(ドロップダウン選択項目)
  • StaticBarItem(ラベル形式の表示項目)
  • TextBoxBarItem(テキスト入力フィールド)
  • ToolBarListBarItem(ツールバーのカスタマイズオプション)
インタラクティブ機能

📄 参照先: references/interactive-features.md

  • SuperTooltip のセットアップと外観のカスタマイズ
  • コンテキストメニューとの統合
  • ツールチップの表示制御
  • 高度なツールチップエディターの設定
キーボードとアクセシビリティ

📄 参照: references/keyboard-support.md

  • メニュー項目へのキーボードショートカットの割り当て
  • & 記号を使ったニーモニックテキストの実装
  • ShowMnemonicUnderlinesAlways プロパティ
  • キーボードナビゲーションのパターン
状態の永続化と MDI

📄 参照: references/state-persistence-mdi.md

  • AutoLoadToolBarPositions による状態の永続化の有効化
  • カスタマイズの自動シリアル化
  • MDI 親フォームと子フォームの統合
  • ChildFrameBarManager とメニューのマージ
  • 明示的なマージを行う RegisterMdiChildTypes()
  • MDI マージ動作のマトリックス
分離可能なツールバー

📄 参照: references/detachable-command-bars.md

  • CommandBar の作成とドッキング
  • DockState プロパティの設定
  • DetachedCommandBars コレクションへの追加
  • デザイナーを使う方法とコードベースの方法

一般的な使用例

ファイルメニュー: ParentBarItem の階層を使って、「新規」「開く」「保存」「最近使ったドキュメント」「終了」の項目を含む標準的なファイルメニューを作成します。

ツールバー: BarName が異なる複数の Bar インスタンスを使って個別のツールバーを作成し、それぞれを異なる位置にドッキングします。

検索バー: TextBoxBarItem または ComboBoxBarItem をツールバーに追加して、検索/フィルター機能を実装します。

メニュー内のカラーピッカー: ColorPickerUIAdv コントロールを含む PopupControlContainer とともに DropDownBarItem を使います。

ローカライズされたメニュー: Text プロパティにローカライズされた文字列を設定します。ニーモニックとショートカットはすべての言語で動作します。

カスタムショートカット: ショートカットを設定しない項目には Shortcut.None を割り当てるか、Shortcut 列挙型を使って独自のキーの組み合わせを設定します。

クイックリンク

コメント