'宣言 Public Property Editor As System.Windows.Forms.Control
public System.Windows.Forms.Control Editor {get; set;}
'宣言 Public Property Editor As System.Windows.Forms.Control
public System.Windows.Forms.Control Editor {get; set;}
Editor プロパティは、現在アクティブなセルエディタへの参照を返します。つまり、組み込みエディタ(TextBox、ComboBox、または DateTimePicker コントロール)、カスタムエディタ、または null (グリッドが編集モードでない場合)を返します。
このプロパティを使用して、プログラムからエディタにアクセスしたり、グリッドが編集モードかどうかを確認することができます。
グリッドの組み込みエディタを使用しない場合は、代わりに他のコントロールを使用できます。それには、外部エディタをグリッドの特定の行または列に関連付けるか、 CellStyle.Editorプロパティを使用して、 CellStyleに関連付けます。このプロパティは、いつでも取得および設定できます。
または、 StartEditイベントを処理して、任意のコントロールを直接 Editor プロパティに割り当てます。グリッドの Editor プロパティは、 StartEditイベントの処理中にのみ割り当てることができ、編集モードが終了すると自動的に null にリセットされることに注意してください。
外部エディタとしては任意のコントロールを使用できますが、グリッドと完全に統合するには、外部エディタが IC1EmbeddedEditor インタフェースを実装している必要があります。一部のコントロールは、このインタフェースをネイティブに実装しており、グリッドエディタとして使用するための特別なコードは不要です(C1Input ライブラリのコントロールなど)。ただし、ほとんどのコントロールでは、少なくとも IC1EmbeddedEditor のいくつかのメソッドを実装する必要があります。
カスタムエディタのサンプルについては、このヘルプの「カスタムエディタの使用」と「カスタムエディタの作成」を参照してください。また、製品付属の「CustomEditors」サンプルも参照してください。
次のコードは、 SetupEditorイベントを使用し、2つのプロパティを設定して、現在のエディタをカスタマイズします。
Private Sub flex_SetupEditor(・・・ Dim tb As TextBox = CType(flex.Editor, TextBox) If Not tb Is Nothing Then tb.CharacterCasing = CharacterCasing.Upper tb.MaxLength = 12 End If End Sub
private void flex_SetupEditor(・・・ { TextBox tb = flex.Editor as TextBox; if (tb != null) { tb.CharacterCasing = CharacterCasing.Upper; tb.MaxLength = 12; } }