syncfusion-winforms-multiselect-combobox について
Windows Forms アプリケーションで Syncfusion の MultiSelectionComboBox を実装するためのスキルです。複数選択の表示、データバインド、候補表示、スタイル、選択イベントを扱います。
主な機能
- 01複数選択の表示モード
- 02削除可能なタグ表示
- 03一般的なコレクションへのデータバインド
- 04自動候補表示の設定
- 05グループ化とビジュアルテーマ
- 06選択・項目コレクションのイベント
活用シーン
- 01WinForms フォームへの複数選択ドロップダウン追加
- 02選択項目の削除可能なタグ表示
- 03DataTable からの選択肢のバインド
- 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.mddisplay-modes-and-visual-items.mdevents-and-advanced-features.mdgetting-started.mdstyling-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、NoneVisualItemInputMode: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;
主なプロパティ
| プロパティ | 用途 |
|---|---|
DisplayMode | VisualItem / DelimiterMode / NormalMode |
AutoSuggestMode | Begin / Match / Disabled |
AutoSizeMode | Vertical / Horizontal / None |
ShowCheckBox | ドロップダウンにチェックボックスを表示する |
ShowGroups | 項目を先頭文字でグループ化する |
DelimiterChar | 区切り文字(Delimiter モード) |
DataSource | ArrayList、DataView、DataTable にバインドする |
DisplayMember | コントロールに表示するプロパティ名 |
ValueMember | 実際の値として使用するプロパティ |
Style | ビジュアルテーマ(Office2016Colorful など) |
VisualItemInputMode | DisplayMemberMode / ValueMemberMode / VisualItemMode |
コメント
Markdown 対応