DataGridView.BeginEdit(Boolean) 方法

定义

将当前的单元格置于编辑模式下。

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

参数

selectAll
Boolean

如果选择该单元格的所有内容,为 true;如果不选择任何内容,则为 false

返回

如果当前的单元格已经处于编辑模式或者成功进入编辑模式,则为 true;否则为 false

例外

CurrentCell 未设置为有效的单元格。

- 或 -

已在 CellBeginEdit 事件的处理程序中调用过此方法。

由单元格的 EditType 属性指示的类型并非派生自 Control 类型。

- 或 -

由单元格的 EditType 属性指示的类型并不实现 IDataGridViewEditingControl 接口。

编辑单元格值的初始化失败,DataError 事件没有处理程序,或者处理程序已将 ThrowException 属性设置为 true。 通常情况下,可将该异常对象强制转换为类型 FormatException

示例

下面的代码示例演示了此方法的使用。

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

注解

如果单元格无法进入编辑模式,则此方法返回 false ,这可能由于多种原因而发生。 如果当前单元格为只读,则此方法返回 false 。 如果单元格EditType属性 (null 则它还返回 false ,这意味着单元格无法承载编辑控件) 并且单元格类型不实现 IDataGridViewEditingCell 接口。

如果单元格支持编辑,此方法将 CellBeginEdit 引发 可以取消的事件,如果事件处理程序取消编辑,则返回 false 。 如果未取消编辑,并且单元格可以承载编辑控件,则此方法初始化并显示该控件。 如果初始化失败,此方法返回 false

如果单元格成功进入编辑模式,则 IsCurrentCellInEditMode 属性返回 true

适用于

另请参阅