[Solved] Seeking advice on RadDock layout issues

1 Answer 41 Views
Dock
yw
Top achievements
Rank 3
Iron
Iron
Iron
yw asked on 12 Apr 2026, 03:53 AM

Hello everyone,
I'm encountering the following issues when using RadDock 2025 Q2. Any solutions?
1. When the main form changes, the layout doesn't auto-refresh, leaving blank space or causing docking windows to be overlapped.
2. When closing windows, the layout doesn't auto-refresh, leaving blank areas.
3. Splitter bars sometimes cannot be dragged.
4. All windows inherit from DocumentWindow (or ToolWindow) and implement IRequireServices. Window creation and construction use DI injection.

The management code used and the demo GIF are attached in the package.

 

1 Answer, 1 is accepted

Sort by
0
Dinko | Tech Support Engineer
Telerik team
answered on 14 Apr 2026, 10:02 AM

Hello yw scr,

Thank you for reaching out to us and for the provided files.

The files are not buildable, and I can't share exactly why the RadDock control is not updated. What I notice is that there is a method that sets the Dock property of the RadDock to Fill. This method is called in the RefreshDockLayout() and ApplyLayout() methods. Probably, this is the reason behind this. In general, it will be better to set this property in the Form.Designer.cs file instead. This is when the Form is loaded, the RadDock control will automatically fill the area in which it is placed. You can check this out in your project and ensure that the control fills the area.

I hope that this will work.

Regards,
Dinko | Tech Support Engineer
Progress Telerik

Love the Telerik and Kendo UI products and believe more people should try them? Invite a fellow developer to become a Progress customer and each of you can get a $50 Amazon gift voucher.

yw
Top achievements
Rank 3
Iron
Iron
Iron
commented on 14 Apr 2026, 12:26 PM

Thank you for your solution.

_dock.AutoDetectMdiChildren = true;
_dock.BackgroundImage = Properties.Resources.XaLogo;
_dock.BackgroundImageLayout = ImageLayout.Center;
_dock.Controls.Add(_dockDoc);
_dock.Dock = DockStyle.Fill;
_dock.IsCleanUpTarget = true;
_dock.Location = new Point(0, 50);
_dock.MainDocumentContainer = _dockDoc;
_dock.Name = "_dock";
_dock.Padding = new Padding(1);
_dock.ShowDocumentCloseButton = true;
_dock.ShowDocumentPinButton = true;
_dock.Size = new Size(945, 560);
_dock.SplitterWidth = 3;
_dock.TabIndex = 3;
_dock.TabStop = false;
// 
// _dockDoc
// 
_dockDoc.BackColor = Color.Transparent;
_dockDoc.Name = "_dockDoc";
_dockDoc.SizeInfo.SizeMode = Telerik.WinControls.UI.Docking.SplitPanelSizeMode.Fill;
_dockDoc.SplitterWidth = 3;

The Dock property is set to Fill in the Designer.cs file.

The docked forms inherit from DocumentWindow or ToolWindow, and when viewing the designer, the forms cannot be displayed. Is this the cause of the problem? Let me try again.
Dinko | Tech Support Engineer
Telerik team
commented on 15 Apr 2026, 07:46 AM

Thank you for sharing the code snippet. I see that the Dock property is set to Fill. Without isolating this behavior in a runnable project, it is really hard for me to understand why the RadDock control does not resize while resizing the main form. What I can suggest is to investigate your code and search for something that could in some way affect the size of the RadDock control or its parent. Resizing logic, layout logic, adding controls runtime, .etc. If such is found, you can comment out and check again if the described behavior is observed again. Removing parts of the code that affect the layout will help to narrow down the problem area. Afterward, you can modify it to avoid such scenarios.

As for the custom ToolWindow/DocumentWindow not visible in the VS designer. This is expected behavior.These are special RadDock window types, not standard WinForms Forms. They are intended to be managed and displayed by RadDock at runtime, so their design-time experience is limited. Instead of creating custom ToolWindow/DocumentWindow, you can move all the structure in a separate UserControl. Then open the RadDock designer and add the DocumentWindow at a specific position. The last step is to add the UserControl to the DocumentWindow. All other customization can be perfomed in the custom UserControl.

yw
Top achievements
Rank 3
Iron
Iron
Iron
commented on 16 Apr 2026, 12:44 PM

Thank you for your reply.

There are too many project forms, and some forms need to open multiple instances, so the layout cannot be configured using the designer. I have changed all forms to inherit from Form, but the problem still persists.

Where can I download the RSS Reader by Telerik sample code mentioned in the content at https://www.telerik.com/products/winforms/documentation/controls/dock/overview? Or other sample code with more complete RadDock functionality.

Dinko | Tech Support Engineer
Telerik team
commented on 17 Apr 2026, 10:15 AM

I'm afraid that without isolating this behavior in a standalone project, I can't be sure why this is happening. The best option here that comes to my mind is to remove parts of the code that affect the layout logic, change the size, .etc. You can aslo search for a code that it is executed when the Form size is changed. Check for SizeChanged event handler.

As for the RSS demo, you can check it out from our Demos Application. When you run the demos, you can scroll the bottom part of the view to see the demo:

You can also navigate to the Dock section inside the Demos Application example and check the available RadDock demos.

For the example source code, you can find it in the installation folder of our controls:
C:\Program Files (x86)\Progress\Telerik UI for WinForms 2026 Q1\Examples\RssReader



yw
Top achievements
Rank 3
Iron
Iron
Iron
commented on 18 Apr 2026, 01:14 AM

Thank you for your reply. I tested it and found that with the same code logic, the layout refreshes normally when injecting a regular form, but the refresh mechanism becomes abnormal when business logic (event bus, logging service, etc.) is added. Besides using Refresh() to refresh RadDock, Refresh() does not trigger re-layout. What other methods can be used to programmatically trigger RadDock re-layout?
yw
Top achievements
Rank 3
Iron
Iron
Iron
commented on 18 Apr 2026, 01:47 AM

Now calling ResumeLayout to force a layout refresh basically solves the problem; will investigate the specific cause later.
Dinko | Tech Support Engineer
Telerik team
commented on 20 Apr 2026, 11:25 AM

I am happy to hear that you were able to find a solution for your scenario, and thank you for sharing it with the community. If you have any further questions, feel free to contact us again.
Tags
Dock
Asked by
yw
Top achievements
Rank 3
Iron
Iron
Iron
Answers by
Dinko | Tech Support Engineer
Telerik team
Share this question
or