Udostępnij za pośrednictwem


DataGridView.BeginEdit(Boolean) Metoda

Definicja

Umieszcza bieżącą komórkę w trybie edycji.

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

Parametry

selectAll
Boolean

true aby zaznaczyć całą zawartość komórki; false aby nie wybierać żadnej zawartości.

Zwraca

true jeśli bieżąca komórka jest już w trybie edycji lub zostanie pomyślnie wprowadzona w tryb edycji; w przeciwnym razie , false.

Wyjątki

CurrentCell nie jest ustawiona na prawidłową komórkę.

-lub-

Ta metoda została wywołana w procedurze obsługi zdarzenia CellBeginEdit .

Typ wskazywany przez właściwość komórki EditType nie pochodzi od Control typu.

-lub-

Typ wskazywany przez właściwość komórki EditType nie implementuje interfejsu IDataGridViewEditingControl .

Inicjowanie wartości komórki edycji nie powiodło się i nie ma procedury obsługi dla DataError zdarzenia lub program obsługi ustawił ThrowException właściwość na true. Obiekt wyjątku może być zwykle rzutowy do typu FormatException.

Przykłady

Poniższy przykład kodu pokazuje użycie tej metody.

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

Uwagi

Ta metoda zwraca wartość false , jeśli komórka nie wprowadzi trybu edycji, co może wystąpić z wielu powodów. Ta metoda zwraca wartość false , jeśli bieżąca komórka jest tylko do odczytu. Zwraca false również wartość , jeśli właściwość komórki EditType to null (co oznacza, że komórka nie może hostować kontrolki edycji), a typ komórki nie implementuje interfejsu IDataGridViewEditingCell .

Jeśli komórka obsługuje edycję, ta metoda zgłasza CellBeginEdit zdarzenie, które można anulować i zwraca false , jeśli program obsługi zdarzeń anuluje edycję. Jeśli edycja nie została anulowana, a komórka może hostować kontrolkę edycji, ta metoda inicjuje kontrolkę i wyświetla ją. Jeśli inicjowanie zakończy się niepowodzeniem, ta metoda zwróci wartość false.

Jeśli komórka zostanie pomyślnie wprowadzona w tryb edycji, IsCurrentCellInEditMode właściwość zwróci truewartość .

Dotyczy

Zobacz też