DataGridView.BeginEdit(Boolean) Método

Definição

Coloca a célula atual no modo de edição.

public:
 virtual bool BeginEdit(bool selectAll);
public virtual bool BeginEdit (bool selectAll);
abstract member BeginEdit : bool -> bool
override this.BeginEdit : bool -> bool
Public Overridable Function BeginEdit (selectAll As Boolean) As Boolean

Parâmetros

selectAll
Boolean

true para selecionar todo o conteúdo da célula; false para não selecionar nenhum conteúdo.

Retornos

true se a célula atual já está em modo de edição ou se entrou com êxito no modo de edição; caso contrário, false.

Exceções

CurrentCell não é definido para uma célula válida.

- ou -

Esse método foi chamado em um manipulador para o evento CellBeginEdit.

O tipo indicado pela propriedade EditType da célula não deriva do tipo Control.

- ou -

O tipo indicado pela propriedade EditType da célula não implementa a interface IDataGridViewEditingControl.

Falha na inicialização do valor da célula de edição e não há um manipulador para o evento DataError ou o manipulador definiu a propriedade ThrowException como true. Normalmente, o objeto de exceção pode ser convertido para o tipo FormatException.

Exemplos

O exemplo de código a seguir demonstra o uso desse método.

// Override OnMouseClick in a class derived from DataGridViewCell to 
// enter edit mode when the user clicks the cell. 
protected override void OnMouseClick(DataGridViewCellMouseEventArgs e)
{
    if (base.DataGridView != null)
    {
        Point point1 = base.DataGridView.CurrentCellAddress;
        if (point1.X == e.ColumnIndex &&
            point1.Y == e.RowIndex &&
            e.Button == MouseButtons.Left &&
            base.DataGridView.EditMode !=
            DataGridViewEditMode.EditProgrammatically)
        {
            base.DataGridView.BeginEdit(true);
        }
    }
}
' Override OnMouseClick in a class derived from DataGridViewCell to 
' enter edit mode when the user clicks the cell. 
Protected Overrides Sub OnMouseClick( _
    ByVal e As DataGridViewCellMouseEventArgs)

    If MyBase.DataGridView IsNot Nothing Then

        Dim point1 As Point = MyBase.DataGridView.CurrentCellAddress
        If point1.X = e.ColumnIndex And _
            point1.Y = e.RowIndex And _
            e.Button = MouseButtons.Left And _
            Not MyBase.DataGridView.EditMode = _
            DataGridViewEditMode.EditProgrammatically Then

            MyBase.DataGridView.BeginEdit(True)

        End If
    End If
End Sub

Comentários

Esse método retornará false se a célula não entrar no modo de edição, o que pode acontecer por vários motivos. Esse método retornará false se a célula atual for somente leitura. Ele também retornará false se a propriedade da célula EditType for null (o que significa que a célula não pode hospedar um controle de edição) e o tipo de célula não implementar a IDataGridViewEditingCell interface.

Se a célula der suporte à edição, esse método gerará o CellBeginEdit evento, que pode ser cancelado, e retornará false se um manipulador de eventos cancelar a edição. Se a edição não for cancelada e a célula puder hospedar um controle de edição, esse método inicializará o controle e o exibirá. Se a inicialização falhar, esse método retornará false.

Se a célula entrar com êxito no modo de edição, a IsCurrentCellInEditMode propriedade retornará true.

Aplica-se a

Confira também