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. (Last updated on: November 16, 2018).
Unfortunately, activation email could not send to your email. Please try again.
Syncfusion Feedback

Docking Windows Problems

Thread ID:





29222 May 19,2005 01:22 PM UTC Jun 23,2005 03:23 PM UTC WinForms 5
Tags: Tools
Andreas Kostian
Asked On May 19, 2005 01:22 PM UTC

Hello, in my MDI-Application I have got several Docking Windows. When I added the 7th one (a tree) it wasn''t visible in the designer, although the properties (AutoHideOnLoad, etc.) were the same like the other six. After starting the application, I found out that this 7th window was only 10 pixels wide. I couldn''t make it wider, because it had not border. I corrected the width in the Designer to 50 pixels and still can''t see it there. But now it appears in running application. Is there any know bug with more than 6 docking windows ? Furthermore I need the possibility to hide all docking windows, if the user wants, and restore it later. I use the SaveDockState and LoadDockState-Functionality, which works OK. But LoadDockState takes several seconds and causes a lot of flickering. Is there any way to avoid this ? Thanks for the help in advance. Andreas Kostian

Administrator [Syncfusion]
Replied On May 19, 2005 10:01 PM UTC

Hi Andreas, The problem with docking seven controls isn''t a limitation of DockingManager, as much as it''s a limitation of Form size. Eventually DockingManager runs out of room to dock controls and is forced to make them small. Shrinking your controls to the desired size as you add them can help avoid this problem. To hide and show Controls, you should use SetDockVisibility. This prevents you from having to worry about serialization and load times. You can prevent the flicker this causes by using a hard lock on window painting. I have attached a sample that demonstrates these things: f29222_7HidableDockingWindows_1318.zip Please take a look at it and let me know if you have any questions. Regards, Gregory Austin Syncfusion Inc.

Andreas Kostian
Replied On May 20, 2005 08:02 AM UTC

Hi Gregory, thanks for your answer. The LockWindowUpdate() was a good hint. Works quite good. But SetDockVisibility doesn''t seem to be an option for me. I also tried it before. I need the possibility to hide away all docking windows and later to restore them at the exact position and state like they were before. This is because we offer the possibility to the user to maximize his working area with one click. If the user scrolled out one docking window, so he can only see the tab on the left side of the parent window, and then I use SetDockVisibility(..., false) to hide it away and later SetDockVisibility(..., true) to show it again, it will be "scrolled in" again and completely visible. When I use SaveDockState() and LoadDockState() the exact positions and states of the docking windows will be perfectly restored. If there is any faster and/or easier way to do this, I would like to know about it. Thanks again, Andreas Kostian

Administrator [Syncfusion]
Replied On May 20, 2005 10:24 PM UTC

Hi Andreas, If you want to improve performance, you should be able to use the BinaryFmtStream option on AppStateSerializer to serialize to memory, therefore avoiding disk write times. Regards, Gregory Austin Syncfusion Inc.

Andreas Kostian
Replied On June 23, 2005 12:22 PM UTC

Hi Gregory, just found time to check the AppStateSerializer hint. I use binaryFmt and a MemoryStream. But I can see any improvements in Performance. Take about 2-3 seconds to restore the state of the docking windows. Any other idea ? Thanks, Andreas

Administrator [Syncfusion]
Replied On June 23, 2005 03:23 PM UTC

Hi Andreas, Unfortunately, I''m not aware of any other ways to improve LoadDockState performance. It was designed to primarily be used at the beginning of the application, where the load time is not going to stand out as much. Using a MemoryStream likely would help in low memory usage situations, where you can avoid hitting the hard drive. However, if increasing the memory usage will force a paging operation, it wouldn''t save any time. Regards, Gregory Austin Syncfusion Inc.


This post will be permanently deleted. Are you sure you want to continue?

Sorry, An error occured while processing your request. Please try again later.

Please sign in to access our forum

or the page will be automatically redirected to sign-in page in 10 seconds.

Warning Icon You are using an outdated version of Internet Explorer that may not display all features of this and other websites. Upgrade to Internet Explorer 8 or newer for a better experience.Close Icon