![](images/userguide/CellType_RichTextBoxCell_01.png)
リッチテキスト型セル(RichTextBoxCell)は、.NET FrameworkのRichTextBoxコントロール(System.Windows.Forms.RichTextBox)と同等の機能を提供します。RichTextBoxCellを使用すると、ユーザーはセルに書式付のテキストを直接入力できます。
機能
データ型
RichTextBoxCellはObject型の値を保持します。この型はRichTextBoxCell.ValueTypeプロパティで確認できます。
入力と表示には、String型にキャストした値が使用されます。この型はRichTextBoxCell.FormattedValueTypeプロパティで確認できます。Object型のToStringメソッドをオーバーライドすると、キャストする際の動作を変更できます。セルに値が読み出される場合の動作を変更するには、RichTextBoxCell.OnCellFormattingメソッドをオーバーライドします。セルから値が書き戻される場合の動作を変更するには、RichTextBoxCell.OnCellParsingメソッドをオーバーライドします。
入力と表示には、String型にキャストした値が使用されます。この型はRichTextBoxCell.FormattedValueTypeプロパティで確認できます。Object型のToStringメソッドをオーバーライドすると、キャストする際の動作を変更できます。セルに値が読み出される場合の動作を変更するには、RichTextBoxCell.OnCellFormattingメソッドをオーバーライドします。セルから値が書き戻される場合の動作を変更するには、RichTextBoxCell.OnCellParsingメソッドをオーバーライドします。
セル編集コントロール
RichTextBoxCellの値はRichTextBoxEditingControlコントロールで編集できます。このコントロールはIEditingControlインタフェースとSystem.Windows.Forms.RichTextBoxクラスを継承しています。セル編集コントロールの型はRichTextBoxCell.EditTypeプロパティで確認できます。
スタイル
RichTextBoxCellはCellStyleクラスの次のメンバをサポートしています。セルのスタイルはRichTextBoxCell.Styleプロパティで設定します。
CellStyleメンバ | 非編集時 | 編集時 |
---|---|---|
BackColor | 有効 | 有効 |
BackgroundGradientEffect | 有効 | - |
Border | 有効 | 有効 |
DataSourceNullValue | 有効 | 有効 |
DisabledBackColor | 有効 | - |
DisabledForeColor | - | - |
DisabledGradientEffect | 有効 | - |
EditingBackColor | - | 有効 |
EditingForeColor | - | - |
Font | - | - |
ForeColor | - | - |
Format | 有効 | 有効 |
FormatProvider | 有効 | 有効 |
Image | - | - |
ImageAlign | - | - |
ImeMode | 有効 | 有効 |
ImeSentenceMode | 有効 | 有効 |
InputScope | 有効 | 有効 |
LineAdjustment | 有効 | - |
Margin | 有効 | 有効 |
MouseOverBackColor | 有効 | - |
MouseOverForeColor | - | - |
MouseOverGradientEffect | 有効 | - |
Multiline | 有効 | 有効 |
NullValue | 有効 | 有効 |
Padding | 有効 | 有効 |
PatternColor | 有効 | - |
PatternStyle | 有効 | - |
SelectionBackColor | 有効 | - |
SelectionForeColor | - | - |
SelectionGradientEffect | 有効 | - |
Tag | 有効 | 有効 |
TextAdjustment | - | - |
TextAlign | - | - |
TextAngle | - | - |
TextEffect | - | - |
TextImageRelation | - | - |
TextIndent | - | - |
TextVertical | - | - |
UseCompatibleTextRendering | - | - |
WordWrap | 有効 | 有効 |
- RichTextBoxCellではCellStyle.MultiLineプロパティの既定値はMultiRowTriState.Trueです。
- GDI+互換モードを有効にするには、RichTextBoxCell.Style.UseCompatibleTextRenderingプロパティをTrueに設定します。
ショートカットキー
次の表はRichTextBoxCellの編集時に処理されるキーと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.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.Control+Keys.Cは、複数のセルが選択されている場合はGcMultiRowコントロールによって処理されます。
- Keys.PageDownとKeys.PageUpは、RichTextBoxCellの値が変更されていない場合はGcMultiRowコントロールによって処理されます。
- Keys.LeftはRichTextBoxCellのキャレットが先頭の文字よりも前にあるとき、GcMultiRowコントロールによって処理されます。
- Keys.RightはRichTextBoxCellのキャレットが最後の文字よりも後ろにあるとき、GcMultiRowコントロールによって処理されます。
- Keys.UpはRichTextBoxCellのキャレットが最初の行にあるとき、GcMultiRowコントロールによって処理されます。
- Keys.DownはRichTextBoxCellのキャレットが最後の行にあるとき、GcMultiRowコントロールによって処理されます。
- Keys.UpとKeys.Downは、RichTextBoxCellが複数行を許可しない場合はGcMultiRowコントロールによって処理されます。
イベント
セルの内容領域のクリックに対応した処理を実装するには、GcMultiRow.CellContentClickイベントを使用します。ダブルクリックの場合はGcMultiRow.CellContentDoubleClickイベントです。
セルの値が変更されたときの処理を実装するには、GcMultiRow.CellEditedFormattedValueChangedイベントを使用します。
RichTextBoxCellを編集中のイベントに対応した処理は、RichTextBoxEditingControlクラスのイベントを使用します。
セルの値が変更されたときの処理を実装するには、GcMultiRow.CellEditedFormattedValueChangedイベントを使用します。
RichTextBoxCellを編集中のイベントに対応した処理は、RichTextBoxEditingControlクラスのイベントを使用します。