Completed
Last Updated: 27 Aug 2015 15:45 by ADMIN
To reproduce:

private void commandBarButton1_Click(object sender, EventArgs e)
{
    Telerik.WinControls.UI.RadForm frm;
    frm = new Telerik.WinControls.UI.RadForm();
    frm.Text = "Test" + num;
    num++;

    Telerik.WinControls.UI.Docking.HostWindow host;
    host = new Telerik.WinControls.UI.Docking.HostWindow(frm, Telerik.WinControls.UI.Docking.DockType.Document);
    this.radDock1.DockWindow(host, this.radDock1.GetDefaultDocumentTabStrip(true), Telerik.WinControls.UI.Docking.DockPosition.Fill);
}

Workaround:
 this.radDock1.TransactionCommitting += radDock1_TransactionCommitting;

private void radDock1_TransactionCommitting(object sender, RadDockTransactionCancelEventArgs e)
{
    if (e.Transaction.TransactionType == DockTransactionType.DragDrop && e.Transaction.TargetState == DockState.Docked &&
       !( e.Transaction.AssociatedWindows.First() is ToolWindow))
    {
        FieldInfo fi = typeof(RadDockTransaction).GetField("targetState",BindingFlags.NonPublic |BindingFlags.Instance);
        fi.SetValue(e.Transaction, DockState.TabbedDocument);
    }
}
Completed
Last Updated: 13 Jul 2015 12:17 by ADMIN
To reproduce:

1. Add two RadDock controls on the form and one RadButton.
2. Use the following code snippet:

public Form1()
{
    InitializeComponent();

    this.IsMdiContainer = true;
    this.radDock1.AutoDetectMdiChildren = true;
    this.radDock2.AutoDetectMdiChildren = false;

    this.radDock1.ActiveWindowChanged += radDock1_ActiveWindowChanged;
}

private void radButton1_Click(object sender, EventArgs e)
{
    RadForm f = new RadForm();
    f.MdiParent = this;
    f.Show();
    f.Text = DateTime.Now.ToLongTimeString();
}

private void radDock1_ActiveWindowChanged(object sender, Telerik.WinControls.UI.Docking.DockWindowEventArgs e)
{
    Console.WriteLine("ActiveWindowChanged");
}

If you click the button you will notice that the last added DocumentWindow is not active.

Workaround:  this.radDock1.DockWindowAdded += radDock1_DockWindowAdded;

private void radDock1_DockWindowAdded(object sender, Telerik.WinControls.UI.Docking.DockWindowEventArgs e)
{
     this.radDock1.ActiveWindow = e.DockWindow;
}
Completed
Last Updated: 13 Jul 2015 10:58 by ADMIN
To reproduce:
RadDock goRadDock = new RadDock();
public RadForm1()
{
    InitializeComponent();
   
    this.Load+=RadForm1_Load;
}
private void RadForm1_Load(object sender, System.EventArgs e)
{
    goRadDock.Dock = DockStyle.Fill;
    this.Controls.Add(goRadDock);

    Telerik.WinControls.UI.RadListView loPanorama = new RadListView();
    HostWindow loHost;
    //' Set Panorama Properties
    // loPanorama.BackColor = System.Drawing.Color.Transparent;
    loPanorama.Dock = System.Windows.Forms.DockStyle.Fill;
    loPanorama.Location = new System.Drawing.Point(0, 0);
    loPanorama.Margin = new System.Windows.Forms.Padding(0);
    loPanorama.Name = "Panorama";
    // loPanorama.ScrollBarThickness = 1;
    // loPanorama.ScrollingBackground = true;
    loPanorama.ShowGroups = true;
    loPanorama.Size = new System.Drawing.Size(787, 315);
    loHost = goRadDock.DockControl(loPanorama, Telerik.WinControls.UI.Docking.DockPosition.Left);
    loHost.Text = "Panorama";
    loHost.DockState = DockState.AutoHide;

    Telerik.WinControls.UI.RadPanorama loPanorama2 = new Telerik.WinControls.UI.RadPanorama();
    HostWindow loHost2;
    //' Set Panorama2 Properties
    // loPanorama2.BackColor = System.Drawing.Color.Transparent;
    loPanorama2.Dock = System.Windows.Forms.DockStyle.Fill;
    loPanorama2.Location = new System.Drawing.Point(0, 0);
    loPanorama2.Margin = new System.Windows.Forms.Padding(0);
    loPanorama2.Name = "Panorama2";
    loPanorama2.ScrollBarThickness = 1;
    loPanorama2.ScrollingBackground = true;
    loPanorama2.ShowGroups = true;
    loPanorama2.Size = new System.Drawing.Size(787, 315);
    loHost2 = goRadDock.DockControl(loPanorama2, Telerik.WinControls.UI.Docking.DockPosition.Left);
    loHost2.Text = "Panorama2";
    loHost2.DockState = DockState.AutoHide;

    Telerik.WinControls.UI.RadPanorama loPanorama3 = new Telerik.WinControls.UI.RadPanorama();
    HostWindow loHost3;
    //' Set Panorama2 Properties
    //  loPanorama3.BackColor = System.Drawing.Color.Transparent;
    loPanorama3.Dock = System.Windows.Forms.DockStyle.Fill;
    loPanorama3.Location = new System.Drawing.Point(0, 0);
    loPanorama3.Margin = new System.Windows.Forms.Padding(0);
    loPanorama3.Name = "Panorama3";
    loPanorama3.ScrollBarThickness = 1;
    loPanorama3.ScrollingBackground = true;
    loPanorama3.ShowGroups = true;
    loPanorama3.Size = new System.Drawing.Size(787, 315);
    loHost3 = goRadDock.DockControl(loPanorama3, Telerik.WinControls.UI.Docking.DockPosition.Left);
    loHost3.Text = "Panorama3";
    loHost3.DockState = DockState.AutoHide;

    Telerik.WinControls.UI.RadPanorama loPanorama4 = new Telerik.WinControls.UI.RadPanorama();
    HostWindow loHost4;
    //' Set Panorama2 Properties
    //  loPanorama4.BackColor = System.Drawing.Color.Transparent;
    loPanorama4.Dock = System.Windows.Forms.DockStyle.Fill;
    loPanorama4.Location = new System.Drawing.Point(0, 0);
    loPanorama4.Margin = new System.Windows.Forms.Padding(0);
    loPanorama4.Name = "Panorama4";
    loPanorama4.ScrollBarThickness = 1;
    loPanorama4.ScrollingBackground = true;
    loPanorama4.ShowGroups = true;
    loPanorama4.Size = new System.Drawing.Size(787, 315);
    loHost4 = goRadDock.DockControl(loPanorama4, Telerik.WinControls.UI.Docking.DockPosition.Left);
    loHost4.Text = "Panorama4";
    loHost4.DockState = DockState.AutoHide;
}

Workaround:
RadDock goRadDock = new RadDock();

public RadForm1()
{
    InitializeComponent();

    goRadDock.BeginInit();
    goRadDock.Dock = DockStyle.Fill;
    this.Controls.Add(goRadDock);

    RadPanorama loPanorama = new RadPanorama();
    HostWindow loHost;

    loPanorama.Dock = System.Windows.Forms.DockStyle.Fill;
    loPanorama.Location = new System.Drawing.Point(0, 0);
    loPanorama.Margin = new System.Windows.Forms.Padding(0);
    loPanorama.Name = "Panorama";
    // loPanorama.ScrollBarThickness = 1;
    // loPanorama.ScrollingBackground = true;
    loPanorama.ShowGroups = true;
    loPanorama.Size = new System.Drawing.Size(787, 315);
    loHost = goRadDock.DockControl(loPanorama, Telerik.WinControls.UI.Docking.DockPosition.Left);
    loHost.Text = "Panorama";
   

    Telerik.WinControls.UI.RadPanorama loPanorama2 = new Telerik.WinControls.UI.RadPanorama();
    HostWindow loHost2;
    //' Set Panorama2 Properties
    // loPanorama2.BackColor = System.Drawing.Color.Transparent;
    loPanorama2.Dock = System.Windows.Forms.DockStyle.Fill;
    loPanorama2.Location = new System.Drawing.Point(0, 0);
    loPanorama2.Margin = new System.Windows.Forms.Padding(0);
    loPanorama2.Name = "Panorama2";
    //loPanorama2.ScrollBarThickness = 1;
  //  loPanorama2.ScrollingBackground = true;
    loPanorama2.ShowGroups = true;
    loPanorama2.Size = new System.Drawing.Size(787, 315);
    loHost2 = goRadDock.DockControl(loPanorama2, Telerik.WinControls.UI.Docking.DockPosition.Left);
    loHost2.Text = "Panorama2";


    Telerik.WinControls.UI.RadPanorama loPanorama3 = new Telerik.WinControls.UI.RadPanorama();
    HostWindow loHost3;
    //' Set Panorama2 Properties
    //  loPanorama3.BackColor = System.Drawing.Color.Transparent;
    loPanorama3.Dock = System.Windows.Forms.DockStyle.Fill;
    loPanorama3.Location = new System.Drawing.Point(0, 0);
    loPanorama3.Margin = new System.Windows.Forms.Padding(0);
    loPanorama3.Name = "Panorama3";
    loPanorama3.ScrollBarThickness = 1;
    loPanorama3.ScrollingBackground = true;
    loPanorama3.ShowGroups = true;
    loPanorama3.Size = new System.Drawing.Size(787, 315);
    loHost3 = goRadDock.DockControl(loPanorama3, Telerik.WinControls.UI.Docking.DockPosition.Left);
    loHost3.Text = "Panorama3";
   

    Telerik.WinControls.UI.RadPanorama loPanorama4 = new Telerik.WinControls.UI.RadPanorama();
    HostWindow loHost4;
    //' Set Panorama2 Properties
    //  loPanorama4.BackColor = System.Drawing.Color.Transparent;
    loPanorama4.Dock = System.Windows.Forms.DockStyle.Fill;
    loPanorama4.Location = new System.Drawing.Point(0, 0);
    loPanorama4.Margin = new System.Windows.Forms.Padding(0);
    loPanorama4.Name = "Panorama4";
    loPanorama4.ScrollBarThickness = 1;
    loPanorama4.ScrollingBackground = true;
    loPanorama4.ShowGroups = true;
    loPanorama4.Size = new System.Drawing.Size(787, 315);
    loHost4 = goRadDock.DockControl(loPanorama4, Telerik.WinControls.UI.Docking.DockPosition.Left);
    loHost4.Text = "Panorama4";
  
    goRadDock.EndInit();
 
    loHost.DockState = DockState.AutoHide;      
    loHost2.DockState = DockState.AutoHide;
    loHost3.DockState = DockState.AutoHide;
    loHost4.DockState = DockState.AutoHide;
}

Completed
Last Updated: 02 Jul 2015 08:51 by ADMIN
Unplanned
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.
Unplanned
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
Completed
Last Updated: 25 Jan 2016 15:27 by ADMIN
Steps to reproduce:

1. Open the form at design time
2. Add a RadDock
3. Add a MS Panel
4. Put the RadDock inside the panel
5. Dock the Panel to Fill, dock RadDock to Fill as well.
6. Open RadDock's Advanced Layout Designer
7. Add two ToolWindows to the left and redock them in order to share one common container.
8. Hide the ToolWindows by unchecking the check-boxes in the Advanced Layout Designer and save the changes
9. Add a RadPanel (Dock=Fill) to the active ToolWindow.
10. Add a RadGridView (Anchor = Top, Left, Right, Bottom ), a left RadButton (Anchor = Bottom, Left) and a right RadButton (Anchor = Bottom, Right)to the panel.
11. Save thfs in the designer. Select the RadPanel with the grid and the buttons and click Copy.
12. Select the other ToolWindow and paste.
13. Save the form. Close the designer and reopen it again. You will notice that the pasted panel is not as expected.

The attached video (drag and drop over the browser to play it) illustrates better the performed steps.

Workaround: do not place the RadDock inside a MS Panel. RadDock is supposed to be used as a main container in a form.
Unplanned
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.
Unplanned
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();
    }
}
Declined
Last Updated: 27 Jun 2016 12:11 by ADMIN
ADMIN
Created by: Dess | Tech Support Engineer, Principal
Comments: 1
Category: Dock
Type: Bug Report
1
Workaround: FloatingWindow.FormElement.TitleBar.CloseButton.Enabled = True
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: 06 Jan 2017 09:14 by ADMIN
To reproduce:
- Load a layout with a floating window in it. 
- The close button is disabled.


Workaround:
private void RadDock1_LoadedFromXml(object sender, EventArgs e)
{
    foreach (FloatingWindow item in radDock1.FloatingWindows)
    {
        item.UpdateCloseButton();
    }
}

Unplanned
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);
}
Unplanned
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.
Completed
Last Updated: 15 Aug 2017 10:54 by ADMIN
Please refer to the attached sample project and follow the steps in the gif file.

The issue appears when the ToolWindow DockState is set to auto-hide for the firs time as well.
 
Completed
Last Updated: 15 Aug 2017 11:03 by ADMIN
To reproduce:
- Auto-hide some windows to the left.
- Save the layout 
- Load the layout
- The auto-hide popup is shown. 
Unplanned
Last Updated: 15 Aug 2017 10:09 by ADMIN
ADMIN
Created by: Dess | Tech Support Engineer, Principal
Comments: 0
Category: Dock
Type: Bug Report
1
Please refer to the attached sample project. Click the "show" button to open a new MDI child form. Then, press the "close" button. In the Output tab you will notice that the FormClosing/FormClosed events are fired twice.

Workaround: use the RadDock's DockWindowClosing and DockWindowClosed events.
Unplanned
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);
 
    }
}
Unplanned
Last Updated: 20 Nov 2017 12:49 by ADMIN
Workrarund:
If possible create tool-windows with added user controls
public static ContentUserControl CreateContentUserControl(RadDock dock)
{
    ContentUserControl uc = new ContentUserControl();
    if (dock != null)
    {
        ToolWindow hostWindow = new ToolWindow("ContentUserControl");
        hostWindow.Controls.Add(uc);
        hostWindow.Name = uc.Name;
        dock.FloatWindow(hostWindow);
    }

    return uc;
}
Unplanned
Last Updated: 08 Nov 2017 15:11 by ADMIN
ADMIN
Created by: Dess | Tech Support Engineer, Principal
Comments: 0
Category: Dock
Type: Bug Report
1
To reproduce: please refer to the attached sample project and follow the steps illustrated in the gif file. 

Workaround: after loading the layout, set the MaximumSize for the FloatingWindow:
        public RadForm1()
        {
            InitializeComponent();

            this.radDock1.FloatingWindowCreated += radDock1_FloatingWindowCreated;
        }

        Size lastSize = Size.Empty;

        private void radDock1_FloatingWindowCreated(object sender, Telerik.WinControls.UI.Docking.FloatingWindowEventArgs e)
        {
          lastSize=  e.Window.Size;
        }

        private void button1_Click(object sender, EventArgs e)
        {
            int reps;
            if (!int.TryParse(radMaskedEditBox1.Text, out reps))
            {
                MessageBox.Show(this, "Enter a valid number for repititions.");
                return;
            }

            using (var dockLayout = new MemoryStream())
            {
                for (int i = 0; i < reps; i++)
                {
                    dockLayout.SetLength(0);
                    radDock1.SaveToXml(dockLayout);
                    radDock1.LoadFromXml(dockLayout);

                    foreach (Telerik.WinControls.UI.Docking.FloatingWindow fw in this.radDock1.ActiveFloatingWindows)
                    {
                        fw.MaximumSize = lastSize;
                    }
                }
            }
        }