LayoutItemContainer.BeginUpdate() Method
Locks the LayoutItemContainer object by preventing visual updates of the object and its elements until the EndUpdate method is called.
Namespace: DevExpress.XtraLayout
Assembly: DevExpress.XtraLayout.v24.2.dll
Declaration
Remarks
The BeginUpdate and EndUpdate methods allow you to avoid flickering while performing batch modifications to the LayoutItemContainer‘s settings. Once the BeginUpdate method has been called, modifying settings of the LayoutItemContainer and its elements does not cause an immediate visual update. So, multiple modifications can be made to the object and its elements without a major impact on performance or screen flickering. After all the desired operations have been finished, call the EndUpdate method.
The BeginUpdate and EndUpdate methods use an internal counter to implement the update functionality. The counter’s initial value is 0. Visual updates are forbidden if the counter’s value is greater than 0, and the updates are enabled if the counter’s value is 0. The BeginUpdate method increments the counter. The EndUpdate method decrements the counter. If the counter’s new value is 0, an immediate visual update occurs. Each call to BeginUpdate must be paired with a call to EndUpdate. To ensure that EndUpdate is always called even if an exception occurs, use the try…finally statement.
To prevent excessive updates for the entire layout control use the LayoutControl.BeginUpdate and LayoutControl.EndUpdate methods.
Note that calling this method for a container also triggers the BeginUpdate method call for its parent container, if any. As a result, the entire layout can lock down.
Note
Do not add/remove/hide layout items or modify item sizes within the BeginUpdate/EndUpdate block since these operations require the Layout Control to recalculate positions and bounds of affected items. All recalculations are locked within the BeginUpdate/EndUpdate block.