Skip to main content
All docs
V24.2

DevExpress v24.2 Update — Your Feedback Matters

Our What's New in v24.2 webpage includes product-specific surveys. Your response to our survey questions will help us measure product satisfaction for features released in this major update and help us refine our plans for our next major release.

Take the survey Not interested

DockManager.RestoreLayoutError Event

Occurs when a saved layout is invalid and cannot be restored. Allows you to fix restore layout exceptions.

Namespace: DevExpress.XtraBars.Docking

Assembly: DevExpress.XtraBars.v24.2.dll

NuGet Package: DevExpress.Win.Navigation

#Declaration

[DXCategory("Layout")]
public event EventHandler<RestoreLayoutErrorEventArgs> RestoreLayoutError

#Event Data

The RestoreLayoutError event's data class is RestoreLayoutErrorEventArgs. The following properties provide information specific to this event:

Property Description
Exceptions Gets the list of exceptions that occurred during the restore layout operation.
IsLayoutBroken Gets whether the layout cannot be restored due to the invalid layout file.
Throw Gets or sets whether to throw exceptions that occur during the restore layout operation.

The event data class exposes the following methods:

Method Description
ThrowIfRestoreLayoutExceptionsNotHandled() For internal use.

#Remarks

The TabContainerActiveChildNotSetException occurs when the DockPanel.ActiveChild property of the restored tab container is not specified.

Follow the steps below to fix this exception:

  1. Handle the RestoreLayoutError event.
  2. Obtain the exception from the e.Exceptions list.
  3. Assign the container’s child panel to the ActiveChild property.
  4. Set the e.Throw property to false to suppress the exception.
void dockManager1_RestoreLayoutError(object sender, DevExpress.Utils.Serializing.RestoreLayoutErrorEventArgs e) {
    foreach (var exception in e.Exceptions) {
        if (exception is TabContainerActiveChildNotSetException activeChildException)
            activeChildException.Panel.ActiveChild = activeChildException.Panels[1];
    }
    e.Throw = false;
}
See Also