Back to Devexpress

RichEditControl.EndUpdate() Method

windowsforms-devexpress-dot-xtrarichedit-dot-richeditcontrol-91b1a37b.md

latest5.5 KB
Original Source

RichEditControl.EndUpdate() Method

Unlocks the RichEditControl object after a call to the RichEditControl.BeginUpdate method and causes an immediate visual update.

Namespace : DevExpress.XtraRichEdit

Assembly : DevExpress.XtraRichEdit.v25.2.dll

NuGet Package : DevExpress.Win.RichEdit

Declaration

csharp
public void EndUpdate()
vb
Public Sub

Remarks

Enclose your code in the RichEditControl.BeginUpdate - EndUpdate method calls to suppress the RichEditControl’s visual updates and improve its performance when you perform multiple changes to a document.

Each call to RichEditControl.BeginUpdate must be paired with the EndUpdate call. The RichEditControl.BeginUpdate method locks the RichEditControl, so that it is not rendered after each modification. The EndUpdate method unlocks the control to enable all the changes to take effect. You can use the try…finally statement to ensure that EndUpdate is always called even if an exception occurs.

The following example shows how to use the RichEditControl.BeginUpdate - EndUpdate methods.

csharp
richEditControl1.BeginUpdate();
try
{
    Document document = richEditControl1.Document;

    // Create a multiplication table.
    Table table = document.Tables.Create(document.Selection.Start, 8, 8, AutoFitBehaviorType.AutoFitToWindow);

    table.Borders.InsideHorizontalBorder.LineThickness = 1;
    table.Borders.InsideHorizontalBorder.LineStyle = TableBorderLineStyle.Double;
    table.Borders.InsideVerticalBorder.LineThickness = 1;
    table.Borders.InsideVerticalBorder.LineStyle = TableBorderLineStyle.Double;
    table.TableAlignment = TableRowAlignment.Center;

    table.ForEachCell((cell, rowIndex, columnIndex) =>
    {
        document.InsertText(cell.Range.Start, String.Format("{0}*{1} = {2}",
             columnIndex + 2, rowIndex + 2, (rowIndex + 2) * (columnIndex + 2)));
    });

}
finally
{
    richEditControl1.EndUpdate();
}
vb
richEditControl1.BeginUpdate()
Try
    Dim document As Document = richEditControl1.Document

    ' Create a multiplication table.
    Dim table As Table = document.Tables.Create(document.Selection.Start, 8, 8, AutoFitBehaviorType.AutoFitToWindow)

    table.Borders.InsideHorizontalBorder.LineThickness = 1
    table.Borders.InsideHorizontalBorder.LineStyle = TableBorderLineStyle.Double
    table.Borders.InsideVerticalBorder.LineThickness = 1
    table.Borders.InsideVerticalBorder.LineStyle = TableBorderLineStyle.Double
    table.TableAlignment = TableRowAlignment.Center

    table.ForEachCell(Sub(cell, rowIndex, columnIndex) document.InsertText(cell.Range.Start, String.Format("{0}*{1} = {2}", columnIndex + 2, rowIndex + 2, (rowIndex + 2) * (columnIndex + 2))))

Finally
    richEditControl1.EndUpdate()
End Try

The following code snippets (auto-collected from DevExpress Examples) contain references to the EndUpdate() method.

Note

The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.

winforms-rich-edit-implement-ms-office-word-format-painter/CS/DXApplication9/Form1.cs#L123

csharp
targetSelectedRange.EndUpdateDocument(targetSubDocument);
    richEditControl.EndUpdate();
}

winforms-spreadsheet-how-to-edit-rich-text/VB/SpreadsheetRichText/RichTextEditForm.vb#L48

vb
End If
    RichEditControl1.EndUpdate()
End Sub

winforms-rich-edit-implement-ms-office-word-format-painter/VB/DXApplication9/Form1.vb#L112

vb
targetSelectedRange.EndUpdateDocument(targetSubDocument)
    richEditControl.EndUpdate()
End Sub

See Also

BeginUpdate()

IsUpdateLocked

RichEditControl Class

RichEditControl Members

DevExpress.XtraRichEdit Namespace