
文字列型セル(TextBoxCell)は、.NET FrameworkのTextBoxコントロール(System.Windows.Forms.TextBox)と同等の機能を提供します。TextBoxCellを使用すると、ユーザーはセルにテキストを直接入力できます。
 機能 
TextBoxCellでは、基本セルの機能に加えて、次の機能を使用できます。
各機能の詳細はTextBoxCellクラスのリファレンスを参照してください。
- テキストの表示と入力
- 複数行のテキストの入力
- テキストのワードラップ
- 読み取り専用のテキスト
- パスワード文字のマスク
- スクロールバーの表示
- コンテキスト メニューの表示
- イベント
各機能の詳細はTextBoxCellクラスのリファレンスを参照してください。
 データ型 
TextBoxCellはObject型の値を保持します。この型はTextBoxCell.ValueTypeプロパティで確認できます。
入力と表示には、String型にキャストした値が使用されます。この型はTextBoxCell.FormattedValueTypeプロパティで確認できます。Object型のToStringメソッドをオーバーライドすると、キャストする際の動作を変更できます。セルに値が読み出される場合の動作を変更するには、TextBoxCell.OnCellFormattingメソッドをオーバーライドします。セルから値が書き戻される場合の動作を変更するには、TextBoxCell.OnCellParsingメソッドをオーバーライドします。
入力と表示には、String型にキャストした値が使用されます。この型はTextBoxCell.FormattedValueTypeプロパティで確認できます。Object型のToStringメソッドをオーバーライドすると、キャストする際の動作を変更できます。セルに値が読み出される場合の動作を変更するには、TextBoxCell.OnCellFormattingメソッドをオーバーライドします。セルから値が書き戻される場合の動作を変更するには、TextBoxCell.OnCellParsingメソッドをオーバーライドします。
 セル編集コントロール 
TextBoxCellの値はTextBoxEditingControlコントロールで編集できます。このコントロールはIEditingControlインタフェースとSystem.Windows.Forms.TextBoxクラスを継承しています。セル編集コントロールの型はTextBoxCell.EditTypeプロパティで確認できます。 
 スタイル 
TextBoxCellはCellStyleクラスの次のメンバをサポートしています。セルのスタイルはTextBoxCell.Styleプロパティで設定します。
GDI+互換モードを有効にするには、TextBoxCell.Style.UseCompatibleTextRenderingプロパティをTrueに設定します。
| CellStyleメンバ | 非編集時 | 編集時 | 
|---|---|---|
| BackColor | 有効 | 有効 | 
| BackgroundGradientEffect | 有効 | - | 
| Border | 有効 | 有効 | 
| DataSourceNullValue | 有効 | 有効 | 
| DisabledBackColor | 有効 | - | 
| DisabledForeColor | 有効 | - | 
| DisabledGradientEffect | 有効 | - | 
| EditingBackColor | - | 有効 | 
| EditingForeColor | - | 有効 | 
| Font | 有効 | 有効 | 
| ForeColor | 有効 | 有効 | 
| Format | 有効 | 有効 | 
| FormatProvider | 有効 | 有効 | 
| Image | 有効 | - | 
| ImageAlign | 有効 | - | 
| ImeMode | 有効 | 有効 | 
| ImeSentenceMode | 有効 | 有効 | 
| InputScope | 有効 | 有効 | 
| LineAdjustment | GDI+互換モードの場合のみ有効 | - | 
| Margin | 有効 | 有効 | 
| MouseOverBackColor | 有効 | - | 
| MouseOverForeColor | 有効 | - | 
| MouseOverGradientEffect | 有効 | - | 
| Multiline | 有効 | 有効 | 
| NullValue | 有効 | 有効 | 
| Padding | 有効 | 有効 | 
| PatternColor | 有効 | - | 
| PatternStyle | 有効 | - | 
| SelectionBackColor | 有効 | - | 
| SelectionForeColor | 有効 | - | 
| SelectionGradientEffect | 有効 | - | 
| Tag | 有効 | 有効 | 
| TextAdjustment | GDI+互換モードの場合のみ有効 | - | 
| TextAlign | 有効 | 水平方向のみ | 
| TextAngle | GDI+互換モードの場合のみ有効 | - | 
| TextEffect | 有効 | - | 
| TextImageRelation | 有効 | - | 
| TextIndent | 有効 | - | 
| TextVertical | GDI+互換モードの場合のみ有効 | - | 
| UseCompatibleTextRendering | 有効 | - | 
| WordWrap | 有効 | 有効 | 
GDI+互換モードを有効にするには、TextBoxCell.Style.UseCompatibleTextRenderingプロパティをTrueに設定します。
 ショートカットキー 
次の表はTextBoxCellの編集時に処理されるキーと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.Enter | 複数行の場合のみ有効 | - | |
| Keys.F10 | 有効 | - | 
- Keys.Control+Keys.Cは、複数のセルが選択されている場合はGcMultiRowコントロールによって処理されます。
- Keys.PageDownとKeys.PageUpは、TextBoxCellの値が変更されていない場合はGcMultiRowコントロールによって処理されます。
- Keys.LeftはTextBoxCellのキャレットが先頭の文字よりも前にあるとき、GcMultiRowコントロールによって処理されます。
- Keys.RightはTextBoxCellのキャレットが最後の文字よりも後ろにあるとき、GcMultiRowコントロールによって処理されます。
- Keys.UpはTextBoxCellのキャレットが最初の行にあるとき、GcMultiRowコントロールによって処理されます。
- Keys.DownはTextBoxCellのキャレットが最後の行にあるとき、GcMultiRowコントロールによって処理されます。
- Keys.UpとKeys.Downは、TextBoxCellが複数行を許可しない場合はGcMultiRowコントロールによって処理されます。
 イベント 
セルの内容領域のクリックに対応した処理を実装するには、GcMultiRow.CellContentClickイベントを使用します。ダブルクリックの場合はGcMultiRow.CellContentDoubleClickイベントです。
セルの値が変更されたときの処理を実装するには、GcMultiRow.CellEditedFormattedValueChangedイベントを使用します。
TextBoxCellを編集中のイベントに対応した処理は、TextBoxEditingControlクラスのイベントを使用します。
セルの値が変更されたときの処理を実装するには、GcMultiRow.CellEditedFormattedValueChangedイベントを使用します。
TextBoxCellを編集中のイベントに対応した処理は、TextBoxEditingControlクラスのイベントを使用します。
 標準コントロールとの比較 
次の表はTextBoxCellとSystem.Windows.Forms.TextBoxコントロール、System.Windows.Forms.DataGridViewTextBoxCellクラスの主要なプロパティの比較です。
| TextBoxCell | TextBox | DataGridViewTextBoxCell | 
|---|---|---|
| なし | AcceptsReturns | なし | 
| なし | AutoCompleteCustomSource | なし | 
| なし | AutoCompleteMode | なし | 
| なし | AutoCompleteSource | なし | 
| Style.BackColor | BackColor | Style.BackColor | 
| CharacterCasing | CharacterCasing | なし | 
| Style.ForeColor | ForeColor | Style.ForeColor | 
| MaxLength | MaxLength | MaxInputLength | 
| Style.MultiLine | MultiLine | なし | 
| PasswordChar | PasswordChar | なし | 
| ScrollBars | ScrollBars | なし | 
| Value | Text | Value | 
| Style.TextAlign | TextAlign | Style.Alignment | 
| UseSystemPasswordChar | UseSystemPasswordChar | なし | 
| Style.WordWrap | WordWrap | Style.WrapMode | 
 使用例