DataGridView.EditingControl DataGridView.EditingControl DataGridView.EditingControl DataGridView.EditingControl Property

定義

編集中のコントロールを含むセルが編集モードの場合、現在のセルでホストされているコントロールを取得します。Gets the control hosted by the current cell, if a cell with an editing control is in edit mode.

public:
 property System::Windows::Forms::Control ^ EditingControl { System::Windows::Forms::Control ^ get(); };
[System.ComponentModel.Browsable(false)]
public System.Windows.Forms.Control EditingControl { get; }
member this.EditingControl : System.Windows.Forms.Control
Public ReadOnly Property EditingControl As Control

プロパティ値

現在のセルでホストされている ControlThe Control hosted by the current cell.

次のコード例は、カスタムセル型のオーバーライドされたメソッドでこのプロパティを使用する方法を示しています。The following code example illustrates how to use this property in an overridden method of a custom cell type. この例では、編集コントロールへの参照を取得し、カスタム編集コントロール型にキャストして、セルの現在の値を設定しています。In the example, a reference to the editing control is retrieved, cast to a custom editing control type, and then populated with the current value of the cell.

この例は、次の方法で使用できる大きな例の一部です。DataGridView セルWindows フォームのコントロールをホストします。This example is part of a larger example available in How to: Host Controls in Windows Forms DataGridView Cells.

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;
    // Use the default row value when Value property is null.
    if (this.Value == null)
    {
        ctl.Value = (DateTime)this.DefaultNewRowValue;
    }
    else
    {
        ctl.Value = (DateTime)this.Value;
    }
}
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)

    ' Use the default row value when Value property is null.
    If (Me.Value Is Nothing) Then
        ctl.Value = CType(Me.DefaultNewRowValue, DateTime)
    Else
        ctl.Value = CType(Me.Value, DateTime)
    End If
End Sub

注釈

セルが編集モードでない場合、またはセルの種類が編集コントロールに対応していないnull場合、このプロパティはを返します。If the cell is not in edit mode or the cell type does not accommodate an editing control, this property returns null.

適用対象

こちらもご覧ください