コンボボックス型セル(ComboBoxCell)は、.NET FrameworkのComboBoxコントロール(System.Windows.Forms.ComboBox)と同等の機能を提供します。ComboBoxCellを使用すると、ユーザーはドロップダウン リストから値を入力できます。コンボボックスの高さは、セルの高さに合わせて自働的に調節されます。
機能
ComboBoxCellでは、基本セルの機能に加えて、次の機能を使用できます。
各機能の詳細はComboBoxCellクラスのリファレンスを参照してください。
- ドロップダウン ボタンの表示
- ドロップダウン リストの表示
- データ ソースへのバインド
- イベント
各機能の詳細はComboBoxCellクラスのリファレンスを参照してください。
データ型
ComboBoxCellはObject型の値を保持します。この型はComboBoxCell.ValueTypeプロパティで確認できます。
入力と表示には、String型にキャストした値が使用されます。この型はComboBoxCell.FormattedValueTypeプロパティで確認できます。Object型のToStringメソッドをオーバーライドすると、キャストする際の動作を変更できます。セルに値が読み出される場合の動作を変更するには、ComboBoxCell.OnCellFormattingメソッドをオーバーライドします。セルから値が書き戻される場合の動作を変更するには、ComboBoxCell.OnCellParsingメソッドをオーバーライドします。
入力と表示には、String型にキャストした値が使用されます。この型はComboBoxCell.FormattedValueTypeプロパティで確認できます。Object型のToStringメソッドをオーバーライドすると、キャストする際の動作を変更できます。セルに値が読み出される場合の動作を変更するには、ComboBoxCell.OnCellFormattingメソッドをオーバーライドします。セルから値が書き戻される場合の動作を変更するには、ComboBoxCell.OnCellParsingメソッドをオーバーライドします。
セル編集コントロール
ComboBoxCellの値はComboBoxEditingControlコントロールで編集します。このコントロールはIEditingControlインタフェースとSystem.Windows.Forms.ComboBoxクラスを継承しています。セル編集コントロールの型はCell.EditTypeプロパティで確認できます。
スタイル
ComboBoxCellは CellStyleクラスの次のメンバをサポートしています。セルのスタイルはComboBoxCell.Styleプロパティで設定します。
GDI+互換モードを有効にするには、UseCompatibleTextRenderingプロパティをTrueに設定します。
CellStyleメンバ | 非編集時 | 編集時 |
---|---|---|
BackColor | 有効 | 有効 |
BackgroundGradientEffect | ComboBoxCell.FlatStyle=FlatまたはPopupの場合のみ有効 | - |
Border | 有効 | 有効 |
DataSourceNullValue | 有効 | 有効 |
DisabledBackColor | 有効 | - |
DisabledForeColor | ComboBoxCell.FlatStyle=FlatまたはPopupの場合のみ有効 | - |
EditingBackColor | - | 有効 |
EditingForeColor | - | 有効 |
Font | 有効 | 有効 |
ForeColor | 有効 | 有効 |
Format | 有効 | 有効 |
FormatProvider | 有効 | 有効 |
Image | - | - |
ImageAlign | - | - |
ImeMode | 有効 | 有効 |
ImeSentenceMode | 有効 | 有効 |
InputScope | 有効 | 有効 |
LineAdjustment | GDI+互換モードの場合のみ有効 | - |
Margin | 有効 | - |
MouseOverBackColor | ComboBoxCell.FlatStyle=FlatまたはPopupの場合のみ有効 | - |
MouseOverForeColor | 有効 | - |
MouseOverGradientEffect | ComboBoxCell.FlatStyle=FlatまたはPopupの場合のみ有効 | - |
Multiline | 有効 | 有効 |
NullValue | 有効 | 有効 |
Padding | 有効 | 有効 |
PatternColor | 有効 | - |
PatternStyle | 有効 | - |
SelectionBackColor | ComboBoxCell.FlatStyle=FlatまたはPopupの場合のみ有効 | - |
SelectionForeColor | 有効 | - |
SelectionGradientEffect | ComboBoxCell.FlatStyle=FlatまたはPopupの場合のみ有効 | - |
Tag | 有効 | 有効 |
TextAdjustment | GDI+互換モードの場合のみ有効 | - |
TextAlign | 有効 | 水平方向のみ |
TextAngle | GDI+互換モードの場合のみ有効 | - |
TextEffect | 有効 | - |
TextImageRelation | 有効 | - |
TextIndent | 有効 | - |
TextVertical | GDI+互換モードの場合のみ有効 | - |
UseCompatibleTextRendering | 有効 | - |
WordWrap | 有効 | - |
GDI+互換モードを有効にするには、UseCompatibleTextRenderingプロパティをTrueに設定します。
ショートカットキー
次の表はComboBoxCellの編集時に処理されるキーとGcMultiRowコントロールで処理されるキーの一覧です。
Keys.Control+Keys.Cは複数のセルが選択されている場合はGcMultiRowコントロールによって処理されます。
ComboBoxCell.DropDownStyleプロパティがMultiRowComboBoxStyle.DropDownListのとき、次のキーは処理されないか、またはGcMultiRowコントロールで処理されます。
修飾子 | キー | コンボボックス型セル | GcMultiRow |
---|---|---|---|
なし | Keys.PageUp | 有効 | - |
Keys.PageDown | 有効 | - | |
Keys.End | 有効 | - | |
Keys.Home | 有効 | - | |
Keys.Left | 有効 | - | |
Keys.Right | 有効 | - | |
Keys.Up | 有効 | - | |
Keys.Down | 有効 | - | |
Keys.Insert | - | - | |
Keys.Delete | 有効 | - | |
Keys.BackSpace | 有効 | - | |
Keys.F4 | 有効 | - | |
Keys.Control | Keys.PageUp | 有効 | - |
Keys.PageDown | 有効 | - | |
Keys.End | - | 有効 | |
Keys.Home | - | 有効 | |
Keys.Left | 有効 | - | |
Keys.Right | 有効 | - | |
Keys.Up | - | 有効 | |
Keys.Down | - | 有効 | |
Keys.A | 有効 | - | |
Keys.C | 有効 | - | |
Keys.V | 有効 | - | |
Keys.X | 有効 | - | |
Keys.Shift | Keys.Left | 有効 | - |
Keys.Right | 有効 | - | |
Keys.Up | 有効 | - | |
Keys.Down | 有効 | - | |
Keys.Home | 有効 | - | |
Keys.End | 有効 | - | |
Keys.Alt | Keys.Up | - | - |
Keys.Down | - | - |
Keys.Control+Keys.Cは複数のセルが選択されている場合はGcMultiRowコントロールによって処理されます。
ComboBoxCell.DropDownStyleプロパティがMultiRowComboBoxStyle.DropDownListのとき、次のキーは処理されないか、またはGcMultiRowコントロールで処理されます。
修飾子 | キー | 文字列型セル | GcMultiRow |
---|---|---|---|
なし | Keys.Delete | - | - |
Keys.BackSpace | - | - | |
Keys.Control | Keys.Left | - | 有効 |
Keys.Right | - | 有効 | |
Keys.V | - | - | |
Keys.X | - | - |
イベント
セルの内容領域のクリックに対応した処理を実装するには、GcMultiRow.CellContentClickイベントを使用します。ダブルクリックの場合は GcMultiRow.CellContentDoubleClickイベントです。
セルの値が変更されたときの処理を実装するには、GcMultiRow.CellEditedFormattedValueChangedイベントを使用します。
ComboBoxCellを編集中のイベントに対応した処理は、ComboBoxEditingControlクラスのイベントを使用します。
セルの値が変更されたときの処理を実装するには、GcMultiRow.CellEditedFormattedValueChangedイベントを使用します。
ComboBoxCellを編集中のイベントに対応した処理は、ComboBoxEditingControlクラスのイベントを使用します。
使用例