DataGridViewCell.InitializeEditingControl メソッド
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)

Public Overridable Sub InitializeEditingControl ( _ rowIndex As Integer, _ initialFormattedValue As Object, _ dataGridViewCellStyle As DataGridViewCellStyle _ )
Dim instance As DataGridViewCell Dim rowIndex As Integer Dim initialFormattedValue As Object Dim dataGridViewCellStyle As DataGridViewCellStyle instance.InitializeEditingControl(rowIndex, initialFormattedValue, dataGridViewCellStyle)
public virtual void InitializeEditingControl ( int rowIndex, Object initialFormattedValue, DataGridViewCellStyle dataGridViewCellStyle )
public: virtual void InitializeEditingControl ( int rowIndex, Object^ initialFormattedValue, DataGridViewCellStyle^ dataGridViewCellStyle )
public void InitializeEditingControl ( int rowIndex, Object initialFormattedValue, DataGridViewCellStyle dataGridViewCellStyle )
public function InitializeEditingControl ( rowIndex : int, initialFormattedValue : Object, dataGridViewCellStyle : DataGridViewCellStyle )


最適化の技法として、通常、同じ型の、同じ DataGridView 内にあるすべてのセルが、単一のホストされる編集コントロールを共有します。ただし、コントロールは、セルで使用する前に、InitializeEditingControl メソッドで初期化する必要があります。最初に呼び出されたときに、このメソッドは、親の DataGridView の編集コントロールのリストにコントロールを追加します。セルの一部の表示関連プロパティも初期化します。たとえば、InitializeEditingControl は、指定されたセル スタイル パラメータと一致するように編集領域の背景色を設定します。以後の InitializeEditingControl の呼び出しでは何も行われません。
派生クラスはこのメソッドを使用して、それらの型に対応する Control クラスのインスタンスをホストします。たとえば、1 つ以上の DataGridViewTextBoxCell オブジェクトが格納されたテーブルは、このメソッドを呼び出して、そのテーブルを所有している DataGridView に単一の TextBox 編集コントロールを追加します。

DataGridViewTextBoxCell クラスから派生した簡単なクラスで InitializeEditingControl メソッドをオーバーライドする方法を次のコード例に示します。次のコード例は、「方法 : Windows フォーム DataGridView Cells でコントロールをホストする」で示されている例の一部です。
Public Class CalendarCell Inherits DataGridViewTextBoxCell Public Sub New() ' Use the short date format. Me.Style.Format = "d" End Sub Public Overrides Sub InitializeEditingControl(ByVal rowIndex As Integer, _ ByVal initialFormattedValue As Object, _ ByVal dataGridViewCellStyle As DataGridViewCellStyle) ' Set the value of the editing control to the current cell value. MyBase.InitializeEditingControl(rowIndex, initialFormattedValue, _ dataGridViewCellStyle) Dim ctl As CalendarEditingControl = _ CType(DataGridView.EditingControl, CalendarEditingControl) ctl.Value = CType(Me.Value, DateTime) End Sub Public Overrides ReadOnly Property EditType() As Type Get ' Return the type of the editing contol that CalendarCell uses. Return GetType(CalendarEditingControl) End Get End Property Public Overrides ReadOnly Property ValueType() As Type Get ' Return the type of the value that CalendarCell contains. Return GetType(DateTime) End Get End Property Public Overrides ReadOnly Property DefaultNewRowValue() As Object Get ' Use the current date and time as the default value. Return DateTime.Now End Get End Property End Class
public class CalendarCell : DataGridViewTextBoxCell { public CalendarCell() : base() { // Use the short date format. this.Style.Format = "d"; } public override void InitializeEditingControl(int rowIndex, object initialFormattedValue, DataGridViewCellStyle dataGridViewCellStyle) { // Set the value of the editing control to the current cell value. base.InitializeEditingControl(rowIndex, initialFormattedValue, dataGridViewCellStyle); CalendarEditingControl ctl = DataGridView.EditingControl as CalendarEditingControl; ctl.Value = (DateTime)this.Value; } public override Type EditType { get { // Return the type of the editing contol that CalendarCell uses. return typeof(CalendarEditingControl); } } public override Type ValueType { get { // Return the type of the value that CalendarCell contains. return typeof(DateTime); } } public override object DefaultNewRowValue { get { // Use the current date and time as the default value. return DateTime.Now; } } }

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- DataGridViewCell.InitializeEditingControl メソッドのページへのリンク