mcpField
S
syncfusion-winforms-multiselect-combobox

syncfusion-winforms-multiselect-combobox

github.com/syncfusionデザイン・UI278 回インストール1 週間前に更新
リポジトリ

syncfusion-winforms-multiselect-combobox について

Windows Forms アプリケーションで Syncfusion の MultiSelectionComboBox を実装するためのスキルです。複数選択の表示、データバインド、候補表示、スタイル、選択イベントを扱います。

主な機能

  1. 01複数選択の表示モード
  2. 02削除可能なタグ表示
  3. 03一般的なコレクションへのデータバインド
  4. 04自動候補表示の設定
  5. 05グループ化とビジュアルテーマ
  6. 06選択・項目コレクションのイベント

活用シーン

  1. 01WinForms フォームへの複数選択ドロップダウン追加
  2. 02選択項目の削除可能なタグ表示
  3. 03DataTable からの選択肢のバインド
  4. 04アプリケーションでの選択変更処理

インストール

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

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

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

同梱ファイル

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

references/
data-binding.md
display-modes-and-visual-items.md
events-and-advanced-features.md
getting-started.md
styling-and-customization.md

詳細

MultiSelectionComboBox の実装

MultiSelectionComboBox は、複数項目の選択と自動提案に対応した WinForms ComboBox コントロールです。選択した項目は、削除可能なタグチップ(VisualItem モード)、カンマ区切りのテキスト(Delimiter モード)、または単一の値(Normal モード)として表示できます。DataSource/DisplayMember/ValueMember を使用したデータバインディング、Office 風のビジュアルテーマ、グループ化、豊富なイベントモデルに対応しています。

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

  • Windows Forms アプリケーションに複数選択可能なドロップダウンを追加する
  • 選択した値を閉じるボタン付きのタグチップとして表示する
  • コンボボックスを DataTable、DataView、または ArrayList にバインドする
  • 自動提案の動作(AutoSuggestMode)を設定する
  • ドロップダウンの項目を先頭文字でグループ化する
  • ドロップダウンリストやビジュアルアイテムタグのスタイルを設定する
  • 選択変更やビジュアルアイテムコレクションのイベントを処理する

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

はじめに

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

  • アセンブリ参照と NuGet パッケージの設定
  • デザイナーまたはコードビハインドからコントロールを追加する方法
  • 名前空間のインポート(C# および VB.NET)
  • ButtonStyle、UseVisualStyle、Size を使った基本的なインスタンス化
  • 最小限の動作例
表示モードとビジュアルアイテム入力

📄 参照先: references/display-modes-and-visual-items.md

  • DisplayMode.VisualItem — 削除ボタン付きのタグチップ
  • DisplayMode.DelimiterMode — カンマ区切りのテキスト
  • DisplayMode.NormalMode — 単一値の選択
  • AutoSizeMode:Vertical、Horizontal、None
  • VisualItemInputMode:DisplayMemberMode、ValueMemberMode、VisualItemMode
  • 区切り文字のカスタマイズ
データバインディング

📄 参照先: references/data-binding.md

  • ArrayList、DataView、DataTable へのバインド
  • DataSource、DisplayMember、ValueMember プロパティ
  • 外部データソースへの完全なバインド例
  • DataSourceChanged イベントの処理
スタイルとカスタマイズ

📄 参照先: references/styling-and-customization.md

  • ビジュアルスタイル:Default、Office2016Colorful、Office2016White、Office2016Black、Office2016DarkGray
  • ドロップダウンのスタイル設定:ShowCheckBox、グループヘッダーの色、項目/ドロップダウンの寸法
  • ビジュアルアイテムタグの色:BackColor、ForeColor、SelectionColor、BorderColor
  • グループ化:ShowGroups、実行時の有効化/無効化
  • 自動提案モード:Begin、Match、Disabled
イベントと高度な機能

📄 参照先: references/events-and-advanced-features.md

  • SelectedItemCollectionChanged — 選択項目が変更されたときに発生
  • VisualItemCollectionChanged — ビジュアルアイテムタグが追加または削除されたときに発生
  • AutoSizeModeChanged、DataSourceChanged、DropDown イベント
  • 実行時の VisualItemCollection の変更を検出する方法

クイックスタート

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

// Create and configure the control
var combo = new MultiSelectionComboBox();
combo.ButtonStyle = ButtonAppearance.Metro;
combo.UseVisualStyle = true;
combo.Size = new System.Drawing.Size(250, 30);
combo.DisplayMode = DisplayMode.VisualItem;

// Add items manually
combo.Items.AddRange(new object[] { "Apple", "Banana", "Cherry", "Date", "Elderberry" });

this.Controls.Add(combo);
Imports Syncfusion.Windows.Forms.Tools
Imports Syncfusion.Windows.Forms

Dim combo As New MultiSelectionComboBox()
combo.ButtonStyle = ButtonAppearance.Metro
combo.UseVisualStyle = True
combo.Size = New System.Drawing.Size(250, 30)
combo.DisplayMode = DisplayMode.VisualItem
combo.Items.AddRange(New Object() {"Apple", "Banana", "Cherry"})
Me.Controls.Add(combo)

よく使われるパターン

DataTable にバインドし、タグチップとして表示する
DataTable dt = new DataTable();
dt.Columns.Add("ID");
dt.Columns.Add("Name");
dt.Rows.Add("1", "Alice");
dt.Rows.Add("2", "Bob");
dt.Rows.Add("3", "Carol");

combo.DataSource = dt;
combo.DisplayMember = "Name";
combo.ValueMember = "ID";
combo.DisplayMode = DisplayMode.VisualItem;
選択変更に応じて処理する
combo.SelectedItemCollectionChanged += (sender, e) =>
{
    if (e.Action == Actions.Added)
        Console.WriteLine("Added: " + e.SelectedItems[0]);
    else
        Console.WriteLine("Removed: " + e.SelectedItems[0]);
};
Office 2016 Colorful テーマを適用する
combo.Style = MultiSelectionComboBoxStyle.Office2016Colorful;

主なプロパティ

プロパティ用途
DisplayModeVisualItem / DelimiterMode / NormalMode
AutoSuggestModeBegin / Match / Disabled
AutoSizeModeVertical / Horizontal / None
ShowCheckBoxドロップダウンにチェックボックスを表示する
ShowGroups項目を先頭文字でグループ化する
DelimiterChar区切り文字(Delimiter モード)
DataSourceArrayList、DataView、DataTable にバインドする
DisplayMemberコントロールに表示するプロパティ名
ValueMember実際の値として使用するプロパティ
Styleビジュアルテーマ(Office2016Colorful など)
VisualItemInputModeDisplayMemberMode / ValueMemberMode / VisualItemMode

コメント