Redigera

Dela via


DataGridView.BeginEdit(Boolean) Method

Definition

Puts the current cell in edit mode.

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

Parameters

selectAll
Boolean

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

Returns

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

Exceptions

CurrentCell is not set to a valid cell.

-or-

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.

-or-

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 ThrowException property to true. The exception object can typically be cast to type FormatException.

Examples

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

Remarks

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.

Applies to

See also