We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy. Image for the cookie policy date
close icon

8.3.2.0 SaveDockState/LoadDockState not remembering dock state

Further to my recent post about the DockingManager and the LoadDockState method forcing the form load event to fire, I am having a few more problems which may be linked.

1. If I reload my application the LoadDockState method (now located in the FormLoad event) does not retrieve the dock panels previous state. I am using the default IsolatedStored overload to both SaveDockState and LoadDockState and I can confirm that the methods were working OK in version 6.4 a few weeks ago, and were probably working in in 7.3 until recently but cannot be sure.

2. On reload if I autohide the panel docked to the bottom of the MDI parent, the panel docks itself to the right next to another panel instead of autohiding itself. It also leaves behind a ghost of itself in it's original location (actually just a 3D line). It seems that the docking manager remembers the ghost because on reload sometimes it crashes with the following call stack:

Index 0 is out of range.
Parameter name: index at System.Windows.Forms.Control.ControlCollection.get_Item(Int32 index)
at Syncfusion.Windows.Forms.Tools.FloatingForm.WndProc(Message& msg)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

Any help or guidance is appreciated.

Regards,

Steve Graham

Screen shot of ghost effect attached



DockPanelGhost_d3196a6d.zip

7 Replies

RD Ramya D Syncfusion Team July 26, 2010 12:28 PM UTC

Hi Steve,

Thanks for your interest in Syncfusion Products.

We have fixed the issue that the load event of the form fires before the constructor, this fix will be available in our next release.

[#1.] The Form’s Load event occurs much before the initialization of docking windows layout, and hence the LoadDockState method call within this event handler does not have any effect.
The DockingManager’s NewDockStateEndLoad event handler would be the right place to do this.

Refer the following KB link,
http://www.syncfusion.com/support/kb/1030/Why-does-the--span-class

[#2.] I am afraid that I could not be able to reproduce the issue related with the AutoHiding property on reload with the given details. Please provide us with a minimal sample to reproduce the mentioned issue so that we can analyse it in depth and provide you a better solution.

Please let us know if you have concerns on this.

Regards
Ramya D.



RD Ramya D Syncfusion Team July 26, 2010 12:55 PM UTC

Hi Steve,

Thanks for your interest in Syncfusion Products.

We regret for the inconvenience caused.

We have fixed the issue that the load event of the form fires before the constructor, this fix will be available in our next release.

[#1.] The Form’s Load event occurs much before the initialization of docking windows layout, and hence the LoadDockState method call within this event handler does not have any effect.
The DockingManager’s NewDockStateEndLoad event handler would be the right place to do this.

Refer the following KB link,
http://www.syncfusion.com/support/kb/1030/Why-does-the--span-class

[#2.] I am afraid that I could not reproduce the issue related with the AutoHiding property on reload with the given details. Please provide us with a minimal sample to reproduce the mentioned issue so that we can analyse it in depth and provide you a better solution.

Please let us know if you have concerns on this.

Regards
Ramya D.



VS Vallarasu S Syncfusion Team July 26, 2010 01:05 PM UTC

Hi Steve,

Again regret for the inconvenience.

Refer the KnowledgeBase article from following link
http://www.syncfusion.com/support/kb/1030/Why-does-the--span-class

[#2.]
I am afraid that I could not reproduce the issue related with the AutoHiding property on reload with the given details. Please provide us with a minimal sample to reproduce the mentioned issue so that we can analyze it in depth and provide you a better solution.

Please let us know if you have concerns on this.

Regards
Vallarasu S.


AD Administrator Syncfusion Team July 26, 2010 08:59 PM UTC

Hi Vallarasu,

Thanks for the quick response.

I can confirm that by moving the LoadDockState method to the DockingManager’s NewDockStateEndLoad event I am now able to retrieve the dock panels previous state correctly. As a bonus the previously reported autohiding problem and ghosting effect also appear to have been resolved.

However, the serious "flicker" on loading the MDI parent is still present. The code in my NewDockStateEndLoad now appears as below. I have also tried the LockDockPanelsUpdate/UnlockDockPanelsUpdate but to no avail.

Private Sub dcmMain_NewDockStateEndLoad( _
ByVal sender As Object, _
ByVal e As System.EventArgs) _
Handles _
dcmMain.NewDockStateEndLoad

' Load dock panel configuration settings, once only.
If m_iLoadDockStateCount = 0 Then
m_iLoadDockStateCount += 1
dcmMain.LockHostFormUpdate()
dcmMain.LoadDockState()
dcmMain.UnlockHostFormUpdate()
End If

End Sub

I am guessing that the problem that causes the load event of the form to fire before the constructor (fixed in your next available release) is responsible for negating the effect of the LockHostFormUpdate/UnlockHostFormUpdate methods. Can you confirm whether this is the case please, and if so the likely date of the next release and whether there will be a patch available in the interim?

Thanks again for your help

Regards,

Steve Graham



VS Vallarasu S Syncfusion Team July 27, 2010 11:53 AM UTC

Hi Steve,

Thanks for the update,

Our volume 4 release is tentatively scheduled in mid-October 2010,

We share general information on the forum, if you need specific issue related fixes or patches you can use our Direct Trac support at the following link,

http://www.syncfusion.com/support/directtrac

Please let us know if you have concerns on this,

Regards
Vallarasu S.


AD Administrator Syncfusion Team July 28, 2010 02:37 PM UTC

Hi Vallarasu,

No problem - I will raise a Direct Trac incident shortly.

Regards,

Steve Graham


VS Vallarasu S Syncfusion Team July 29, 2010 03:52 AM UTC

Hi Steve,

We are happy to assist you,

Thanks for using Syncfusion products.

Regards
Vallarasu S.

Loader.
Live Chat Icon For mobile
Up arrow icon