Articles in this section
Category / Section

How to resolve the application crash when the LoadDockState fails in WinForms Docking Manager?

1 min read

Serailize or de-serialize

When the AppStateSerializer is used in the DockingManager to serialize or de-serialize the docking state, the application may crash due to the LoadDockState returning false.  To avoid this kind of application crash, the designer state of the DockingManager or previously working state should be loaded by using LoadDesignerDockState method. The following code example demonstrates the same.

C#

//Save dockstate.
m_Stream = new MemoryStream();
AppStateSerializer aser = new AppStateSerializer(SerializeMode.BinaryFmtStream, m_Stream);
this.dockingManager1.SaveDockState(aser);
aser.PersistNow();
//Load dock state.
m_Stream.Seek(0, SeekOrigin.Begin);
AppStateSerializer aser = new AppStateSerializer(SerializeMode.BinaryFmtStream, m_Stream);
this.dockingManager1.LoadDockState(aser);
//If LoadDockState returns false.
if (this.dockingManager1.LoadDockState(aser) == false)
{
    this.dockingManager1.ResumeLayout(true);
    this.dockingManager1.LoadDesignerDockState();
}

VB

'Save dockstate.
m_Stream = New MemoryStream()
Dim aser As New AppStateSerializer(SerializeMode.BinaryFmtStream, m_Stream)
Me.dockingManager1.SaveDockState(aser)
aser.PersistNow()
'Load dock state.
m_Stream.Seek(0, SeekOrigin.Begin)
Dim aser As New AppStateSerializer(SerializeMode.BinaryFmtStream, m_Stream)
Me.dockingManager1.LoadDockState(aser)
'If LoadDockState returns false.
If Me.dockingManager1.LoadDockState(aser) = False Then
    Me.dockingManager1.ResumeLayout(True)
    Me.dockingManager1.LoadDesignerDockState()
End If

Sample: https://www.syncfusion.com/downloads/support/directtrac/general/DockingManager_LoadDockState-2014510522.zip

UG document link: https://help.syncfusion.com/windowsforms/dockingmanager/serialization

Did you find this information helpful?
Yes
No
Help us improve this page
Please provide feedback or comments
Comments (0)
Please sign in to leave a comment
Access denied
Access denied