Completed
Last Updated: 14 Nov 2024 09:56 by ADMIN
Release R3 2022
Created by: Danilo
Comments: 2
Category: Dock
Type: Bug Report
12

Our application embed a RadDock element.Unfortunately, in a non-systematic way, our application crash with this stack trace: 

Our application is a 64bit application (we migrated it to NET6 using Telerik 2022.2.510.60). As I told unfortunately in this case I'm not able to isolate the case in a simple project (as I'm used to to).

It would be useful by your side, however, make a check to the last trace line of the log I've gave to you: 

 at Telerik.WinControls.UI.ThemedFormBehavior.OnWMNCHitTest(Message& m)

If I decompile your code I find this:

L_param, returned in (1) is an IntPtr that, on a 64bit machine running a 64bit application could contains a value that SOMETIMES will crash in (2) where you try to convert it with an IntTo32 method...

99 time to 100 the code in line 755 works fine but I think that it is not guaranteed that L_Param returned in (1) can be fit in a 32bit box. This could explain why I use the phrase "...in a very random way" and why, at the moment, I'm not be able to give you a simple application where the problem is systematic.

I suspect that at line 755 we have got a problem, I'll appreciate your point of view about it.
Completed
Last Updated: 07 Aug 2024 15:13 by ADMIN
Release 2024.3.806 (2024 Q3)
The ToolStrip inside the AutoHidePopup is not disposed
Completed
Last Updated: 18 Jul 2023 14:26 by ADMIN
Release R2 2023 SP1
Created by: Kris
Comments: 1
Category: Dock
Type: Feature Request
1
Currently, the RadDock control exposes 2 methods: RemoveAllWindows() and RemoveAllDocumentWindows(). The first one removes all windows, while the second one removes all document windows. We can expose a similar method that removes all windows, except document windows.
Completed
Last Updated: 18 Jul 2023 14:26 by ADMIN
Release R2 2023 SP1
Currently, loading the store layout in RadDock may result in different UI panels according to the available internal splitcontainers/panels that are invisible. Perhaps a "SaveAsDefaultLayout()" and "RestoreDefaultLayout()" method could be introduced. Thus, it wouldn't be necessary to clear the windows before loading XML layout.
Completed
Last Updated: 27 Mar 2023 06:39 by ADMIN
Release R1 2023 SP1

When closing the MDI child, its FormClosing event is called twice. This is not observed if we close its HostWindow first.

 

Completed
Last Updated: 21 Sep 2022 12:57 by ADMIN
Release R3 2022 SP1
Please run the sample project and try to move some of windows. You will notice that the drag operation is freezes. The two gif files illustrates the current and previous behavior.
Completed
Last Updated: 19 May 2022 14:24 by ADMIN
Release R2 2022 SP1
When saving and loading the RadDock layout from XML, the position of the tab is not preserved correctly.
Completed
Last Updated: 04 Feb 2021 13:56 by ADMIN
Release R1 2021 SP1
Please refer to the attached gif file illustrating better the missing docking guides.
Completed
Last Updated: 14 Sep 2020 12:47 by ADMIN
Release R3 2020

Hi, 

I am trying to make a Winforms app high dpi aware. All seems fine except when using a toolwindow on a raddock. Is there some special to setup when I want a Raddock to also autoscale?

I created a GIF to example the behaviour. The left side is at 15% and the right side just at 100%. I move the form from right to left and back. As you can see most controls get resized, except for the size of the toolwindows in the raddock.

The raddock is the only dock on the form and is set to dock in parrent. 

 

At the end of the gif you can see some behaviour when I place the form over both screens. Then the applications breaks. I get this error:

System.ComponentModel.Win32Exception
  HResult=0x80004005
  Message=Fout bij het maken van de vensterkoppeling. (Translation: Error making window link.)
  Source=System.Windows.Forms
  StackTrace:
   at System.Windows.Forms.NativeWindow.CreateHandle(CreateParams cp)
   at System.Windows.Forms.Timer.TimerNativeWindow.EnsureHandle()
   at System.Windows.Forms.Timer.TimerNativeWindow.StartTimer(Int32 interval)
   at System.Windows.Forms.Timer.set_Enabled(Boolean value)
   at System.Windows.Forms.Timer.Start()
   at Telerik.WinControls.UI.RadFormControlBase.ScaleControl(SizeF factor, BoundsSpecified specified)
   at System.Windows.Forms.Control.ScaleControl(SizeF includedFactor, SizeF excludedFactor, Control requestingControl)
   at System.Windows.Forms.Control.Scale(SizeF factor)
   at Telerik.WinControls.UI.RadFormControlBase.HandleDpiChanged()
   at Telerik.WinControls.UI.RadFormControlBase.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

 

Maybe this is normal behaviour, but I still want to mention it, because it is possible that in an work environment, someone might to this from time to time. Maybe not on purpose, but still.

Regariding the high DPI, am I doing something wrong?

Thx.

Henk

 

Completed
Last Updated: 01 May 2020 08:33 by ADMIN
Release Q1 2015
ADMIN
Created by: Dess | Tech Support Engineer, Principal
Comments: 2
Category: Dock
Type: Bug Report
0
To reproduce:
1.Add a RadDock with two ToolWindows, docked in a shared TabStrip.
2.Change the dock state of the first ToolWindow to "Floating".
3.Change the dock state of the second ToolWindow to "Autohide".
4.Save the layout.
5.Change the layout.
6.Load the layout.

As a result both of the ToolWindow are autohidden.
Completed
Last Updated: 23 Jan 2020 11:53 by ADMIN
Release R1 2020 SP1 (LIB 2020_1_127)

I was already using telerik 2015 version. that was everything ok. Until I decided to upgrade to 2019 version.

I noticed that the new version is having a problem.

When RadDock Using In RightToLeft mode DocumentTabStrip Window apperance corrupted.

I uploaded sample projects for guidance.

Please help me.

My problem is acute.

Completed
Last Updated: 20 Jan 2020 12:06 by ADMIN
Release R1 2020 SP1 (LIB 2020_1_120)
Created by: Olivier
Comments: 1
Category: Dock
Type: Bug Report
0

Hello,

I have downloaded the latest winform version today and launched my application.

I experienced an immediate crash while replacing a document container by a split container.

You can see the small piece of code and the insttruction which is causing the crash ....

Obviously it was working properly before upgrading ...

Can you help? I am now just stuck so a fix or a workaround would be useful...

Thanks,

Olivier D.

 

if (ctrlOutput == null)
            {
                Telerik.WinControls.UI.RadSplitContainer mainSplitContainer = null;

                ctrlOutput = new ToolWindowOutput(sbOutput);

                var Output = new Telerik.WinControls.UI.Docking.ToolWindow();
                Output.Text = "Output";
                Output.Controls.Add(ctrlOutput);

                var toolTabStrip = new Telerik.WinControls.UI.Docking.ToolTabStrip();
                toolTabStrip.Controls.Add(Output);

                if (this.documentContainer1.Parent == this.radDock1)
                {

>>>>>>>>>>>>>>>>>>>>>>>>>>>>

                    this.radDock1.Controls.Remove(this.documentContainer1); <<<< CRASH HERE

>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                    // need to remplace document container by a split container
                    mainSplitContainer = new Telerik.WinControls.UI.RadSplitContainer();
                    mainSplitContainer.Orientation = System.Windows.Forms.Orientation.Horizontal;
                    mainSplitContainer.Controls.Add(this.documentContainer1);

                    this.radDock1.Controls.Add(mainSplitContainer);
                }
                else
                {
                    mainSplitContainer = (Telerik.WinControls.UI.RadSplitContainer)this.documentContainer1.Parent;
                }

                mainSplitContainer.Controls.Add(toolTabStrip);
            

Completed
Last Updated: 17 Dec 2019 15:36 by ADMIN
Release R1 2020

Hello,

 

when drag and dropping documents in Dock layout, after some operations application crashes. Crash can be reproduce even in Dock sample from Telerik (Visual Studio Demo). Drag and drop documents into middle area, let them create more pages in one tab and then drag and drop pages to change their order. After several order changes application crashes to windows.

 

 

Completed
Last Updated: 07 Nov 2019 14:11 by ADMIN
Release R1 2020 (LIB 2019.3.1111)

If you apply one theme to the entire application and want to apply another theme for RadDock as it is demonstrated in this help article, the ThemeName property of RadDock is not respected:

             

        public RadForm1()
        {
            InitializeComponent();

            radDock1.ElementTree.EnableApplicationThemeName = false;
            radDock1.ThemeName = "FluentDark"; 
            ThemeResolutionService.ApplicationThemeName = "Windows7"; 
        }

 

Completed
Last Updated: 07 Nov 2019 14:09 by ADMIN
Release R1 2020 (LIB 2019.3.1111)

Please run the attached sample project with the latest version. You will notice that the maximized floating window is not loaded properly. This used to work in versions prior to R1 2019.

Workaround: remove "WindowState=Maximized" from the XML.

Completed
Last Updated: 04 Oct 2019 08:23 by ADMIN
Release R1 2019
Please use the project attached.

1.Run the application with multi-monitor configuration.
2.Undock toolWindow1 from RadForm1 and maximize it to the different window.
3.Close the application (the layout will be saved).
4.Run the application again.

Workaround: handle the FloatingWindowCreated event and set FormWindowState.Maximized for the floating window.


    protected override void OnLoad(EventArgs e)
    {
      base.OnLoad(e);
        this.radDock1.FloatingWindowCreated+=radDock1_FloatingWindowCreated;
      if (File.Exists(FileName))
        radDock1.LoadFromXml(FileName);
    }

    private void radDock1_FloatingWindowCreated(object sender, Telerik.WinControls.UI.Docking.FloatingWindowEventArgs e)
    {
        e.Window.WindowState = FormWindowState.Maximized;
    }
Completed
Last Updated: 04 Jun 2019 11:04 by ADMIN
Use the attached project to reproduce.

Workaround:
private void RadForm1_SizeChanged(object sender, EventArgs e)
{
    toolWindow1.EnsureVisible();
}
Completed
Last Updated: 16 May 2019 08:57 by ADMIN
Release R1 2019
To reproduce: run the attached sample project. Click the Close button and then the Show button. You will notice that the list view is no longer available. 

Workaround: instead of using MDI, set the hostWindow.DockState = DockState.TabbedDocument; before showing the form.
Completed
Last Updated: 02 May 2019 16:07 by ADMIN
Release R2 2019

1. Add 4 ToolWindows - left, top, right, bottom. 

2. Add one DocumentWindow at the center.

3. In the Load event set the MainDocumentContainerVisible property to false. 

Please refer to the attached sample gif files. Even though the document container is not shown, the docking guides for the tabbed document are visible. 

Completed
Last Updated: 30 Apr 2019 07:59 by ADMIN
Release R2 2019
How to reproduce: check the attached project and video

Workaround:
public partial class RadForm1 : Telerik.WinControls.UI.RadForm
{
    public RadForm1()
    {
        InitializeComponent();
        radDock1.FloatingWindowCreated += RadDock1_FloatingWindowCreated;
    }

    private void RadDock1_FloatingWindowCreated(object sender, Telerik.WinControls.UI.Docking.FloatingWindowEventArgs e)
    {
        e.Window = new MyWindow(this.radDock1);
    }
}

public class MyWindow : FloatingWindow
{
    SizeF oldDpi = new SizeF(1, 1);

    public MyWindow(RadDock dockManager) : base (dockManager)
    { }
    protected override void HandleDpiChanged()
    {
        
        base.HandleDpiChanged();
        SizeF descale = new SizeF(1f / this.FormElement.DpiScaleFactor.Width, 1f / this.FormElement.DpiScaleFactor.Height);
        this.Scale(descale);
        var dpi = NativeMethods.GetMonitorDpi(Screen.FromRectangle(this.Bounds), NativeMethods.DpiType.Effective);
        if (oldDpi != dpi)
        {
            SizeF sz = new SizeF(dpi.Width / oldDpi.Width, dpi.Height / oldDpi.Height);

            this.Scale(dpi);
        }

        oldDpi = dpi;
    }
}
1 2 3 4 5 6