DataGridView.EditingControl Propriedade

Definição

Obtém o controle hospedado pela célula atual se uma célula com um controle de edição estiver no modo de edição.

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

Valor da propriedade

Control

O Control hospedado pela célula atual.

Atributos

Exemplos

O exemplo de código a seguir ilustra como usar essa propriedade em um método substituído de um tipo de célula personalizado. No exemplo, uma referência ao controle de edição é recuperada, convertida em um tipo de controle de edição personalizado e populada com o valor atual da célula.

Este exemplo faz parte de um exemplo maior disponível em 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

Comentários

Se a célula não estiver no modo de edição ou o tipo de célula não acomodar um controle de edição, essa propriedade retornará null.

Aplica-se a

Confira também