Expand Minimize

DataGridView.BeginEdit Method

Puts the current cell in edit mode.

Namespace:  System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)

public virtual bool BeginEdit(
	bool selectAll


Type: System.Boolean

true to select all the cell's contents; false to not select any contents.

Return Value

Type: System.Boolean
true if the current cell is already in edit mode or successfully enters edit mode; otherwise, false.


CurrentCell is not set to a valid cell.


This method was called in a handler for the CellBeginEdit event.


The type indicated by the cell's EditType property does not derive from the Control type.


The type indicated by the cell's EditType property does not implement the IDataGridViewEditingControl interface.


Initialization of the editing cell value failed and either there is no handler for the DataError event or the handler has set the DataGridViewDataErrorEventArgs.ThrowException property to true. The exception object can typically be cast to type FormatException.

This method returns false if the cell fails to enter edit mode, which can happen for a number of reasons. This method returns false if the current cell is read-only. It also returns false if the cell EditType property is null (meaning the cell cannot host an editing control) and the cell type does not implement the IDataGridViewEditingCell interface.

If the cell supports editing, this method raises the CellBeginEdit event, which can be canceled, and returns false if an event handler cancels the edit. If the edit is not canceled and the cell can host an editing control, this method initializes the control and displays it. If the initialization fails, this method returns false.

If the cell successfully enters edit mode, the IsCurrentCellInEditMode property returns true.

The following code example demonstrates the use of this method.

// 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 !=

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
© 2014 Microsoft