Approved
Last Updated: 19 Apr 2018 13:49 by ADMIN
If you drag a regular form to the top of the screen it will be maximized. This should work with the floating window as well.
Approved
Last Updated: 20 Mar 2019 09:44 by ADMIN
To reproduce: please run the attached sample project  and follow the steps in the gif file.  After some further testing you will notice that the tab items are re-positioned incorrectly when you click a certain tab. It jumps to another location.

Workaround: set the MultiLineItemFitMode property to None and specify the DocumentWindow.TabStripItem.Row property in order to arrange the tabs as you wish.
Approved
Last Updated: 19 Jun 2017 11:27 by ADMIN
How to reproduce: check the attached project and video.

Workaround: persist the auto-hidden windows separately
public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();

        this.radDock1.AutoHideWindowDisplaying += RadDock1_AutoHideWindowDisplaying;

        //Wworkaround
        this.radDock1.LoadedFromXml += RadDock1_LoadedFromXml;
    }

    private void RadDock1_LoadedFromXml(object sender, EventArgs e)
    {
        string res = File.ReadAllText(@"..\..\auto-hidden.txt");
        foreach (DockWindow window in this.radDock1.GetWindows(typeof(ToolWindow), typeof(HostWindow)))
        {
            if (res.IndexOf(window.Name) != -1)
            {
                window.DockState = DockState.AutoHide;
            }
        }
    }

    private void RadDock1_AutoHideWindowDisplaying(object sender, Telerik.WinControls.UI.Docking.AutoHideWindowDisplayingEventArgs e)
    {
    }

    private void button1_Click(object sender, EventArgs e)
    {
        StringBuilder sb = new StringBuilder();
        foreach (DockWindow window in this.radDock1.GetWindows(typeof(ToolWindow), typeof(HostWindow)))
        {
            if (window.DockState == DockState.AutoHide)
            {
                sb.AppendLine(window.Name);
            }
        }

        File.WriteAllText(@"..\..\auto-hidden.txt", sb.ToString());
        this.radDock1.SaveToXml(@"..\..\layout.xml");
    }

    private void button2_Click(object sender, EventArgs e)
    {
        this.radDock1.LoadFromXml(@"..\..\layout.xml");
    }
}
Approved
Last Updated: 15 Aug 2017 09:33 by ADMIN
Currently tool windows cannot be re-sized proportionally in this scenario.
Approved
Last Updated: 15 Aug 2017 09:23 by ADMIN
RadDock should support a MDI mode where the child mdi forms are displayed in the old fashioned way.
Approved
Last Updated: 04 Apr 2016 08:25 by Ryan
To reproduce:
- Add a form with two auto-hidden windows - one on the left and one on the right.
- Drag one of the windows by just showing it (do not pin it)
- The floating window will contain both tool windows, instead of just the dragged one.

Workaround:
Private Sub RadForm1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    RadDock1.DockWindow(ToolWindow2, DockPosition.Right)
    RadDock1.AutoHideWindows(New DockWindow() {ToolWindow2}, AutoHidePosition.Right)
    ToolWindow2.Tag = DockPosition.Right
 
    RadDock1.AutoHideWindow(ToolWindow1)
    ToolWindow1.Tag = DockPosition.Left
End Sub
 
Private Sub RadDock1_FloatingWindowCreated(sender As Object, e As FloatingWindowEventArgs) Handles RadDock1.FloatingWindowCreated
    For Each dw As DockWindow In CType(sender, RadDock).DockWindows
        If dw.Handle <> CType(sender, RadDock).ActiveWindow.Handle Then
            dw.DockState = dw.PreviousDockState
 
            RadDock1.AutoHideWindows(New DockWindow() {dw}, dw.Tag)
        End If
    Next
End Sub
Approved
Last Updated: 29 Mar 2016 12:17 by ADMIN
To reproduce:
- Add two tool windows and auto hide them, one on the left and on the right
- Then call the AutoHideWindow method like this (ToolWindow1 should be on left side):

RadDock1.AutoHideWindow(ToolWindow1)

- You will notice that the second windows is moved on the left.

Workaround:
Use the DockState property instead of the method.
Approved
Last Updated: 29 Mar 2016 12:15 by ADMIN
To reproduce:
radDock1.ElementTree.EnableApplicationThemeName = false;
radDock1.ThemeName = "TelerikMetroBlue";
ThemeResolutionService.ApplicationThemeName = "Office2013Light";

Workaround:
ThemeResolutionService.ApplyThemeToControlTree(this,"Office2013Light");
radDock1.ThemeName = "TelerikMetroBlue";

Approved
Last Updated: 29 Mar 2016 12:14 by ADMIN
To reproduce:

Sub New()
    InitializeComponent()

    Me.WindowState = FormWindowState.Maximized
    Dim leftWindow As ToolWindow = New ToolWindow()
    leftWindow.Text = "Left Window"
    Me.RadDock1.DockWindow(leftWindow, DockPosition.Left)
    leftWindow.DockState = DockState.AutoHide
End Sub

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    If Me.RadDock1.DockWindows.ToolWindows.First().ParentForm IsNot Nothing Then
        Me.RadDock1.DockWindows.ToolWindows.First().ParentForm.Show()
    End If
End Sub

Workaround: maximize the form after the auto-hide popup is shown:
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    If Me.RadDock1.DockWindows.ToolWindows.First().ParentForm IsNot Nothing Then
        Me.RadDock1.DockWindows.ToolWindows.First().ParentForm.Show()
    End If
    Me.WindowState = FormWindowState.Maximized
End Sub
Approved
Last Updated: 16 May 2019 05:10 by ADMIN
ADMIN
Created by: Dimitar
Comments: 0
Category: Dock
Type: Bug Report
1
To reproduce: 
See attached video.

Workaround:
public Form1()
{
    RadDockEvents.TabStripItemCreating += RadDockEvents_TabStripItemCreating;
    InitializeComponent();
    radDock1.AutoHideAnimation = Telerik.WinControls.UI.Docking.AutoHideAnimateMode.None;

}
void RadDockEvents_TabStripItemCreating(object sender, TabStripItemCreatingEventArgs args)
{
    if (args.AutoHide)
    {
        var currentScale = args.TabItem.DpiScaleFactor;

        Screen showScreen = Screen.FromControl(this);
        SizeF scale = NativeMethods.GetMonitorDpi(showScreen, NativeMethods.DpiType.Effective);
        if (scale != currentScale)
        {
            var font = args.TabItem.Font;
            var newFont = new Font(font.Name, font.Size * scale.Width, font.Style);
            args.TabItem.Font = newFont;
        }
    }
}
protected override void OnClosed(EventArgs e)
{
    RadDockEvents.TabStripItemCreating -= RadDockEvents_TabStripItemCreating;
    base.OnClosed(e);
}
Approved
Last Updated: 29 Mar 2016 12:16 by ADMIN
To reproduce:
- Add a document window uppopn a button click. Put the button inside a tool window.

Workaround:
Use ActiveWindowChanged event.
Approved
Last Updated: 29 Mar 2016 12:19 by ADMIN
Please refer to the attached sample project and follow the steps illustrated on the gif file.

Workaround: you can control which items to be closed:

public RadForm1()
{
    InitializeComponent();
    ContextMenuService menuService = this.radDock1.GetService<ContextMenuService>();
    menuService.ContextMenuDisplaying += menuService_ContextMenuDisplaying;
}

RadDockLocalizationProvider localizationProvider = RadDockLocalizationProvider.CurrentProvider;

private void menuService_ContextMenuDisplaying(object sender, ContextMenuDisplayingEventArgs e)
{
    foreach (RadItem item in e.MenuItems)
    {
        if (item.Text == localizationProvider.GetLocalizedString(RadDockStringId.ContextMenuCloseAll))
        {
            item.Click += item_ClickContextMenuCloseAll;
        }
        else if (item.Text == localizationProvider.GetLocalizedString(RadDockStringId.ContextMenuCloseAllButThis))
        {
            item.Click += item_ClickContextMenuCloseAllButThis;
        }
    }
}

private void item_ClickContextMenuCloseAllButThis(object sender, EventArgs e)
{
    foreach (DockWindow dw in this.radDock1.DockWindows)
    {
        if (dw == this.radDock1.ActiveWindow)
        {
            continue;
        }
        dw.CloseAction = DockWindowCloseAction.Hide;
        dw.Close();
    }
}

private void item_ClickContextMenuCloseAll(object sender, EventArgs e)
{
    foreach (DockWindow dw in this.radDock1.DockWindows)
    {
        dw.CloseAction = DockWindowCloseAction.Hide;
        dw.Close();
    }
}
Approved
Last Updated: 31 Jul 2017 07:50 by ADMIN
When custom controls that are containing SplitContainers and TableLayoutPanels are used in RadDock there is invalid resizing behaviour.
The underlying controls are not properly resized when the entire form is resized as well. 
The issue exists only on Windows 7 x64 machines. 

Workaround:
Use RadLayoutControl instead of the TableLayoutPanel.
Approved
Last Updated: 19 Jun 2017 10:57 by ADMIN
How to reproduce:
1. Run the attached project
2. Float a tool window
3. Save layout
4. Close the application and start it again
5. Load the saved layout
6. Hide the floating tool window
7. Save layout
8. Close the application and start it again
9. Load layout
Notice that the hidden tool window would be floating

Workaround:
Manually store the hidden tool windows and restore their state after your load the layout:
public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    private void radButton1_Click(object sender, EventArgs e)
    {
        this.radDock1.SaveToXml(@"..\..\layout.xml");
        StringBuilder sb = new StringBuilder();
        foreach (DockWindow window in this.radDock1.DockWindows.GetWindows(DockState.Hidden))
        {
            if (window is ToolWindow)
            {
                sb.Append(window.Name);
                sb.Append(";");
            }
        }

        File.WriteAllText(@"..\..\hidden.txt", sb.ToString());
    }

    private void radButton2_Click(object sender, EventArgs e)
    {
        this.radDock1.LoadFromXml(@"..\..\layout.xml");

        string[] windows = File.ReadAllText(@"..\..\hidden.txt").Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
        foreach (var window in windows)
        {
            this.radDock1.GetWindow<ToolWindow>(window).Hide();
        }
    }
}
Approved
Last Updated: 19 Jun 2017 10:56 by ADMIN
To reproduce: open the attached sample project.

1. Drag the documentwindow1 as floating
2. Select tool window 2 
3. Select the floating documentwindow1. The ActiveWindowChanging event will be fired twice.
Approved
Last Updated: 27 Dec 2016 12:10 by ADMIN
To reproduce:

Scenario 1:

ToolWindow window1 = new ToolWindow();
window1.Name = "window1";
this.radDock1.DockWindow(window1, DockPosition.Left);

ToolWindow window2 = new ToolWindow();
window2.Name = "window2";
this.radDock1.DockWindow(window2, window1, DockPosition.Right);

window1.TabStrip.SizeInfo.SizeMode = Telerik.WinControls.UI.Docking.SplitPanelSizeMode.Relative;
window1.TabStrip.SizeInfo.RelativeRatio = new SizeF(0.7f, 0);

The expected result is that "window1" takes 70% of the container hosting "window1" and "window2".

Scenario 2:

ToolWindow window1 = new ToolWindow();
window1.Name = "window1";
this.radDock1.DockWindow(window1, DockPosition.Left);

DocumentWindow doc1 = new DocumentWindow();          
this.radDock1.AddDocument(doc1, window1, DockPosition.Right);
window1.TabStrip.SizeInfo.SizeMode = Telerik.WinControls.UI.Docking.SplitPanelSizeMode.Relative;
window1.TabStrip.SizeInfo.RelativeRatio = new SizeF(0.7f, 0);

The expected result is that "window1" takes 70% of the container hosting "window1" and the document window.

Workaround: use the SplitPanelSizeMode.Absolute as below:
ToolWindow window1 = new ToolWindow(); 
DocumentWindow doc1 = new DocumentWindow(); 

private void RadForm1_Load(object sender, EventArgs e)
{
    window1.Name = "window1";
    this.radDock1.DockWindow(window1, DockPosition.Left);
            
    this.radDock1.AddDocument(doc1, window1, DockPosition.Right);
   
    window1.TabStrip.SizeInfo.SizeMode = Telerik.WinControls.UI.Docking.SplitPanelSizeMode.Absolute;
    window1.TabStrip.SizeInfo.AbsoluteSize = new Size((int)(this.Size.Width * 0.7),0);

    this.radDock1.SizeChanged += radDock1_SizeChanged;
}

private void radDock1_SizeChanged(object sender, EventArgs e)
{
     window1.TabStrip.SizeInfo.AbsoluteSize = new Size((int)(this.Size.Width * 0.7),0);
}
Approved
Last Updated: 24 Aug 2018 12:59 by ADMIN
To reproduce: run the application. On the first DocumentWindow there is a UserControl with a wizard. Pressing the Tab key will navigate the command buttons. On the second DocumentWindow there is a similar wizard which is NOT hosted in a UserControl. 

Workaround: Currently, you can override the ProcessDialogKey method of RadWizard  and handle the Tab key where you can perform the desired logic, e.g. select a specific control:

        public class MyWizard : RadWizard
        {
            protected override bool ProcessDialogKey(Keys keyData)
            {
                if (keyData == Keys.Tab)
                {
                    WizardPage page = this.SelectedPage;
                    page.ContentArea.Controls[0].Focus();
                    return false;
                }
                return base.ProcessDialogKey(keyData);
            }
        }
Approved
Last Updated: 26 Jun 2018 07:42 by ADMIN
Please use attached project and try the following:

1. Run the application and move toolWindow3 from right to the bottom panel.
2. Hide toolWindow3 by 'Toggle' menu item or just close it.
3. Save the layout pressing 'Save' menu item.
4. Close the application and run it again.
5. Restore layout using 'Init' menu item.
6. Press 'Toggle' menu item to show toolWindow3. 

Workaround:
Make the window visible before loading the layout.
Approved
Last Updated: 06 Dec 2017 09:19 by Froggie
This property should be inherited by all tool, document, floating and autohide windows.
Approved
Last Updated: 20 Nov 2017 15:27 by ADMIN
To reproduce:
Open the attached project and press Ctrl+ Tab in the first text box. Since the textboxes are accepting the Tab, Ctrl + Tab should move to the other control.


Workaround
// RadTextBox
private void TextBoxItem_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
{
    if ((e.KeyData & Keys.Tab) == Keys.Tab && (e.KeyData & Keys.Control) == Keys.Control)
    {
        e.IsInputKey = true;
        var item = sender as RadTextBoxItem;
 
        this.SelectNextControl(item.HostedControl, true, true, true, true);
 
    }
}
//RadTextBoxControl
private void RadTextBoxControl1_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
{
    if ((e.KeyData & Keys.Tab) == Keys.Tab && (e.KeyData & Keys.Control) == Keys.Control)
    {
        e.IsInputKey = true;
        this.SelectNextControl(sender as RadTextBoxControl, true, true, true, true);
 
    }
}
1 2