syncfusion-winforms-splitbutton について
Windows Forms で Syncfusion SplitButton を実装するためのドキュメントスキルです。主ボタンの操作とドロップダウンの選択肢を組み合わせ、トグル動作、キャプション、スタイル、カスタム描画を設定できます。
主な機能
- 01主操作とドロップダウン項目の組み合わせ
- 02通常モードとトグルモードの設定
- 03選択項目に応じたキャプション変更
- 04組み込みスタイルとテーマの適用
- 05ボタンとドロップダウンの描画カスタマイズ
活用シーン
- 01保存と名前を付けて保存を一つのボタンに配置
- 02ビュー切替でレイアウト選択肢を提供
- 03ツールバーを Office テーマに合わせる
- 04ブランドに合わせたボタン描画の作成
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ syncfusion/ winforms-ui-components-skills --skill syncfusion-winforms-splitbuttonインストール後、Claude Code で/syncfusion-winforms-splitbuttonを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/advanced-customization.mdbutton-caption.mdbutton-modes.mdgetting-started.mdvisual-styles.md詳細
アセンブリの依存関係
必須アセンブリ:
Syncfusion.Grid.BaseSyncfusion.Grid.WindowsSyncfusion.Shared.BaseSyncfusion.Shared.WindowsSyncfusion.Tools.BaseSyncfusion.Tools.Windows
NuGet パッケージ: Install-Package Syncfusion.Tools.Windows
スプリットボタンの実装
このスキルを使用する場面
WinForms アプリケーションに Syncfusion SplitButton コントロールを実装する必要がある場合に、このスキルを使用します。このコントロールは、次の用途に適しています。
- ボタンとドロップダウンの組み合わせ: 主ボタンのアクションと、関連するオプションのドロップダウンメニューを組み合わせたコントロールを作成する
- コマンドのバリエーション: 既定のアクションと代替アクション(「保存」と「名前を付けて保存」、送信オプションなど)を提供する
- オプション付きトグル: ドロップダウンメニューの選択肢も備えたトグルボタンを実装する
- 動的なボタンテキスト: ドロップダウン項目からのユーザー選択に応じてボタンのキャプションを更新する
- Office スタイルの UI: Microsoft Office のスプリットボタンパターンに合わせたインターフェイスを構築する
- カスタム描画ボタン: ISplitButtonRenderer を使用して、ボタンの外観を完全にカスタマイズする
SplitButton コントロールは、2 種類のボタンモード(Normal と Toggle)、動的なキャプション管理、組み込みの Office2016 テーマ、カスタムレンダラーによる幅広いカスタマイズ機能を備えています。
コンポーネントの概要
SplitButton コントロールは、ドロップダウンメニューを統合したボタンのように動作するハイブリッドコントロールです。ボタン部分をクリックすると、主アクションが実行されます。ドロップダウン矢印をクリックすると、追加オプションのメニューが表示されます。このパターンは、Microsoft Word(保存/名前を付けて保存)や Outlook(返信/全員に返信)などのアプリケーションでよく使用されています。
主な機能:
- 2 種類のボタンモード:Normal(標準的なクリック)と Toggle(チェック状態/未チェック状態)
- DropDown 項目の管理(項目の動的な追加/削除)
- 静的または動的なボタンキャプション(テキストを設定するか、選択したドロップダウン項目をキャプションとして使用)
- 6 種類の組み込みビジュアルスタイル:Office2016White、Office2016Black、Office2016DarkGray、Office2016Colorful、Metro、Default
- ボタンを完全にカスタマイズできる ISplitButtonRenderer インターフェイス
- ドロップダウン項目の外観をカスタマイズできる ToolStripProfessionalRenderer
- 項目の選択を処理する DropDownItemClicked イベント
ドキュメントとナビゲーションガイド
はじめに
📄 参照: references/getting-started.md
基本的なセットアップと実装については、まずこちらをお読みください。
- アセンブリ参照と NuGet パッケージのインストール
- デザイナーから SplitButton を追加する(ツールボックスからドラッグ&ドロップ)
- コードから SplitButton を追加する(プログラムによる作成)
- DropDownItems コレクションを使用してドロップダウン項目を追加/削除する
- 基本設定と最小限の動作例
ボタンのモードと状態
📄 参照: references/button-modes.md
ユーザーがボタンの動作を切り替える必要がある場合に使用します。
- 標準的なボタンクリック操作には Normal モードを使用する
- チェック状態/未チェック状態のボタンには Toggle モードを使用する
- ButtonMode プロパティを設定する(Normal と Toggle)
- IsButtonChecked プロパティでトグル状態を制御する
- モード固有のクリックイベントと状態管理
ボタンキャプションの管理
📄 参照: references/button-caption.md
次の操作が必要な場合に使用します。
- Text プロパティを使用して静的なボタンテキストを設定する
- ドロップダウン項目の選択に応じてボタンキャプションを動的に更新する
- DropDownItemClicked イベントを処理してキャプションを更新する
- 選択した項目のテキストをボタンのラベルとして表示する
ビジュアルスタイルとテーマ
📄 参照: references/visual-styles.md
次の操作を行う場合に使用します。
- 組み込みの Office2016 テーマ(White、Black、DarkGray、Colorful)を適用する
- Metro または Default のビジュアルスタイルを使用する
- ボタンの外観をアプリケーションのテーマに合わせる
- Style プロパティまたは ThemeName プロパティを設定する
高度なカスタマイズ
📄 参照: references/advanced-customization.md
次の要件がある場合に使用します:
- ISplitButtonRenderer インターフェイスを使用したカスタムボタンの描画
- カスタムの境界線、テキスト、矢印の描画(DrawBorder、DrawText、DrawArrow メソッド)
- DropDownRenderer を使用したドロップダウン項目の外観のカスタマイズ
- カスタム ToolStripProfessionalRenderer の実装
- 次のメソッドのオーバーライド:OnRenderItemText、OnRenderImageMargin、OnRenderItemImage、OnRenderToolStripBackground、OnRenderToolStripBorder
クイックスタートの例
ドロップダウン項目を含む SplitButton の作成方法を示す最小限の例です。
デザイナーでの方法:
- ツールボックスからフォームに SplitButton をドラッグします
Textプロパティを「Actions」に設定しますDropDownItemsプロパティエディターを使用して項目を追加しますStyleプロパティを「Office2016Colorful」に設定します
コードでの方法(C#):
using Syncfusion.Windows.Forms.Tools;
// Create SplitButton
SplitButton splitButton = new SplitButton();
splitButton.Text = "Save";
splitButton.Size = new Size(120, 40);
splitButton.Location = new Point(20, 20);
splitButton.Style = SplitButtonVisualStyle.Office2016Colorful;
// Add dropdown items
ToolStripMenuItem saveItem = new ToolStripMenuItem("Save");
ToolStripMenuItem saveAsItem = new ToolStripMenuItem("Save As...");
ToolStripMenuItem saveAllItem = new ToolStripMenuItem("Save All");
splitButton.DropDownItems.Add(saveItem);
splitButton.DropDownItems.Add(saveAsItem);
splitButton.DropDownItems.Add(saveAllItem);
// Add to form
this.Controls.Add(splitButton);
コードでの方法(VB.NET):
Imports Syncfusion.Windows.Forms.Tools
' Create SplitButton
Dim splitButton As New SplitButton()
splitButton.Text = "Save"
splitButton.Size = New Size(120, 40)
splitButton.Location = New Point(20, 20)
splitButton.Style = SplitButtonVisualStyle.Office2016Colorful
' Add dropdown items
Dim saveItem As New ToolStripMenuItem("Save")
Dim saveAsItem As New ToolStripMenuItem("Save As...")
Dim saveAllItem As New ToolStripMenuItem("Save All")
splitButton.DropDownItems.Add(saveItem)
splitButton.DropDownItems.Add(saveAsItem)
splitButton.DropDownItems.Add(saveAllItem)
' Add to form
Me.Controls.Add(splitButton)
よくあるパターン
パターン 1:選択した項目に応じてキャプションを動的に変更
ユーザーがドロップダウン項目を選択したときにボタンのテキストを更新します。
private void splitButton1_DropDownItemClicked(object sender, ToolStripItemClickedEventArgs e)
{
// Set button caption to selected item text
splitButton1.Text = e.ClickedItem.Text;
}
パターン 2:トグルモードのボタン
ドロップダウンオプション付きのトグルボタンを作成します。
splitButton1.ButtonMode = ButtonMode.Toggle;
splitButton1.IsButtonChecked = false; // Initially unchecked
// Check if button is toggled
if (splitButton1.IsButtonChecked)
{
// Perform checked state action
}
パターン 3:項目を動的に追加
実行時にドロップダウン項目を追加または削除します。
// Add new item
ToolStripMenuItem newItem = new ToolStripMenuItem("New Option");
splitButton1.DropDownItems.Add(newItem);
// Remove specific item
splitButton1.DropDownItems.Remove(existingItem);
// Remove by index
splitButton1.DropDownItems.RemoveAt(0);
パターン 4:テーマを適用したボタン
Office2016 テーマを適用して、アプリケーションのデザインに合わせます。
// Or use ThemeName property
splitButton1.ThemeName = "Office2019Colorful";
主なプロパティ
必須プロパティ:
| プロパティ | 型 | 説明 | 使用する場面 |
|---|---|---|---|
Text | string | ボタンのキャプションテキスト | 固定のボタンラベルを設定する場合、または選択した項目に応じて更新する場合 |
ButtonMode | ButtonMode | Normal モードまたは Toggle モード | チェック状態を切り替える場合は Toggle、通常のクリック操作には Normal を使用 |
IsButtonChecked | bool | トグル状態(チェック済み/未チェック) | トグルボタンの状態を制御または確認する場合 |
DropDownItems | ToolStripItemCollection | ドロップダウンメニュー項目のコレクション | ドロップダウンオプションを追加、削除、管理する場合 |
Style | SplitButtonVisualStyle | 外観のスタイル | Office2016White/Black/DarkGray/Colorful、Metro、または Default を適用する場合 |
ThemeName | string | スタイル設定に使用するテーマ名 | Office2019 またはカスタムテーマを適用する場合 |
Renderer | ISplitButtonRenderer | カスタムボタンレンダラー | ボタンの外観を独自に描画する場合 |
DropDownRenderer | ToolStripRenderer | カスタムドロップダウンレンダラー | ドロップダウン項目の外観をカスタマイズする場合 |
重要なイベント:
| イベント | 説明 | 使用する場面 |
|---|---|---|
Click | ボタン部分がクリックされたときに発生します | ボタンの主な操作を処理する場合 |
DropDownItemClicked | ドロップダウン項目が選択されたときに発生します | キャプションを更新する場合、または項目固有の操作を実行する場合 |
よくある使用例
使用例 1:名前を付けて保存オプション付きの保存ボタン
Microsoft Word の保存ボタンのような分割ボタンを実装します。
- メインボタンで現在のファイルを保存します
- ドロップダウンには「名前を付けて保存」、「すべて保存」、「コピーを保存」のオプションを表示します
- セットアップについては getting-started.md を参照してください
- 動的なテキスト更新については button-caption.md を参照してください
使用例 2:レイアウトオプション付きの表示切り替え
レイアウトのバリエーションを指定できる、表示モード用のトグルボタンを作成します。
- 表示状態のオン/オフにはトグルモードを使用します
- レイアウトオプション(Grid、List、Details)をドロップダウン項目に設定します
- トグルの設定については button-modes.md を参照してください
- 項目の管理については getting-started.md を参照してください
使用例 3:テーマを適用したツールバーボタン
Office 2016/2019 のテーマに合う分割ボタンを作成します。
- Office2016Colorful または Office2019Colorful テーマを適用します
- アプリケーション全体のデザインに合わせます
- テーマの適用については visual-styles.md を参照してください
使用例 4:ブランドに合わせたカスタムボタン
会社のブランドに合わせて、全面的にカスタマイズした分割ボタンを作成します。
- カスタムカラー、境界線、矢印アイコンを設定します
- ドロップダウンの外観をカスタマイズします
- ISplitButtonRenderer の実装については advanced-customization.md を参照してください
選択ガイド
SplitButton を選ぶ場合:
- 関連する代替アクションを備えた主要なアクションが必要な場合
- 選択内容に応じてボタンのキャプションを変更する必要がある場合
- ドロップダウンのオプションと併せてトグル動作が必要な場合
- Office スタイルの UI パターンが求められる場合
次の場合は、別の選択肢を検討してください:
- ドロップダウンメニューのみが必要な場合 → ComboBox または DropDownButton を使用します
- メニューのないシンプルなボタンが必要な場合 → 標準の Button コントロールを使用します
- 複数の独立したアクションが必要な場合 → 個別の Button コントロールまたは ButtonAdv を使用します
プラットフォームに関する注意: このスキルは、Windows Forms 向け Syncfusion Essential Studio を対象としています。他のプラットフォームについては、以下をご覧ください:
- WPF: Syncfusion WPF SplitButton を使用します(実装は異なります)
- ASP.NET: Syncfusion ASP.NET SplitButton コントロールを使用します
- Blazor/MAUI/React: 各プラットフォーム向けの SplitButton ドキュメントを参照してください