DataGridView.BeginEdit(Boolean) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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 true
wartość .