Completed
Last Updated: 10 Sep 2015 08:19 by ADMIN
ADMIN
Created by: Dess | Tech Support Engineer, Principal
Comments: 0
Category: Dock
Type: Bug Report
0
To reproduce:

1.Add a RadForm with RibbonFormBehavior.
2.Add a RadDock with one DocumentWindow and a button inside the ribbon.
3.Create another RadForm with RibbonFormBehavior.
4.Use the following code snippet:

public partial class Form1 : RadForm
{
    public Form1()
    {
        InitializeComponent();
    }

    private void radButtonElement1_Click(object sender, EventArgs e)
    {
        this.IsMdiContainer = true;
        this.radDock1.AutoDetectMdiChildren = true;
        
        ChildForm form = new ChildForm();
        form.Text = "MDI Child 1"; 
        form.MdiParent = this;
        form.Show();
       
    }
}

Workaround: Set RadDock.AutoDetectMdiChildren property to false.
Completed
Last Updated: 09 Sep 2015 06:03 by ADMIN
To reproduce set AutoDetectMdiChildren to true and add a DocumentWindow to RadDock, using the AddDocument method

Workaround: 
1. Set AutoDetectMdiChildren to false
2. Use HostWindow instead of DocumentWindow
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:11 by ADMIN
ADMIN
Created by: Dess | Tech Support Engineer, Principal
Comments: 0
Category: Dock
Type: Bug Report
0
Workaround:

 this.toolTabStrip1.CaptionElement.RightToLeft = false;
Completed
Last Updated: 02 Jul 2015 08:51 by ADMIN
Completed
Last Updated: 24 Jul 2015 12:56 by ADMIN
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: 22 Jul 2015 06:59 by ADMIN
To reproduce:
- Add some windows before adding loading the layout. Do not set the active window.
If mDockForms Then
    Dim df1 As New Form
    Dim df2 As New Form
    Dim df3 As New Form

    df1.BackColor = Color.Red
    df1.Text = "Docked Form 1"
    df1.Name = "DockedForm1"
    df2.BackColor = Color.White
    df2.Text = "Docked Form 2"
    df2.Name = "DockedForm2"
    df3.BackColor = Color.Blue
    df3.Text = "Docked Form 3"
    df3.Name = "DockedForm3"

    RadDock1.DockControl(df1, Docking.DockPosition.Left)
    RadDock1.DockControl(df2, Docking.DockPosition.Left)
    RadDock1.DockControl(df3, Docking.DockPosition.Left)

    df1.Show()
    df2.Show()
    df3.Show()
End If

RadDock1.LoadFromXml(xmlfile)

- Start the application, select a window and save the layout.
- Load the layout and you will notice that the last window is active.

Workaround:
Me.RadDock1.ActiveWindow = RadDock1.DockControl(df3, Docking.DockPosition.Left)

Woraround2
- Load the layout in empty RadDock and use it to retrieve the proper index: 
 Dim rd2 As New Docking.RadDock

rd2.LoadFromXml(xmlfile)

For Each c As Control In rd2.Controls
    If TypeOf c Is Docking.ToolTabStrip Then
        RadDock1.ActiveWindow = CType(RadDock1.Controls(1), Docking.ToolTabStrip).TabPanels(CType(c, Docking.ToolTabStrip).SelectedIndex)
    End If
Next
Completed
Last Updated: 21 May 2015 14:11 by ADMIN
The issue is caused by the fact that the drop down button has its own theming in RadDock, which gets applied to the newly added button.

To reproduce:

 protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);

            RadDockEvents.TabStripItemCreating += RadDockEvents_TabStripItemCreating;
            AddDock();
            ThemeResolutionService.ApplicationThemeName = "VisualStudio2012Dark";
        }


        void RadDockEvents_TabStripItemCreating(object sender, TabStripItemCreatingEventArgs args)
        {
            RadDropDownButtonElement btn = new RadDropDownButtonElement();
            btn.Margin = new System.Windows.Forms.Padding(80, 5, 5, 5);
            btn.MinSize = new System.Drawing.Size(50, 20);
            btn.Items.Add(new RadMenuItem("asasda"));
            args.TabItem.Children.Add(btn);
        }

Workaround: use the themes in the attachments
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 11:29 by ADMIN
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: 11 May 2015 11:23 by ADMIN
Workaround - set AutoScroll = false to Form that is being shows as MDI child 
Declined
Last Updated: 10 Feb 2015 13:09 by ADMIN
DECLINED: Currently, RadDock is designed to only persist the position of tool windows. The document windows are consider to be kind of dynamic content presenters which need to be opened/closed at runtime. 
ORIGINAL DESCRIPTION:
Create a single ToolWindow, set its DockState to Floating, add this window to a RadDock. Start the application, hide the window, save the layout, then load the layout, the window is not hidden. In the xml there is no node with ToolWindow

To  reproduce:

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();

        ToolWindow newTool = new ToolWindow();
        newTool.Name = "New Tool";

        newTool.CloseAction = DockWindowCloseAction.Hide;


        this.radDock1.AddDocument(newTool);
        newTool.DockState = DockState.Floating;
        this.radDock1.ActiveWindow = newTool;
    }

    private void radButton1_Click(object sender, EventArgs e)
    {
        this.radDock1.SaveToXml(@"..\..\layout1.xml"); 
    }

    private void radButton2_Click(object sender, EventArgs e)
    {
        this.radDock1.LoadFromXml(@"..\..\layout1.xml");
    }
}
Completed
Last Updated: 17 Mar 2015 14:25 by ADMIN
To reproduce:
- Add 2 RadFoms to a raddock in mdi mode.
- Dock the windows by using the left or right docking guide in the center.
- You will notice that the behavior is the same as like using the left or right side guides.

Completed
Last Updated: 27 Nov 2014 14:44 by ADMIN
ADMIN
Created by: Dess | Tech Support Engineer, Principal
Comments: 0
Category: Dock
Type: Bug Report
0
To reproduce :
1. Add three DocumentWindows.
2. Dock one of the windows to the top of the container.
3. The ActiveWindowChanged event is  fired but the window is not marked as active. Clicking on this window does not take affect and it is still not activated.

Please refer to the attached gif file.

Workaround:

public Form1()
{
    InitializeComponent();
    this.radDock1.ActiveWindowChanged += radDock1_ActiveWindowChanged;
    this.radDock1.DockStateChanged += radDock1_DockStateChanged;
}

private void radDock1_ActiveWindowChanged(object sender, Telerik.WinControls.UI.Docking.DockWindowEventArgs e)
{
    UpdateSelectedFont(e);
}

private void radDock1_DockStateChanged(object sender, Telerik.WinControls.UI.Docking.DockWindowEventArgs e)
{
    if (e.DockWindow.DockState == Telerik.WinControls.UI.Docking.DockState.Docked)
    {
        UpdateSelectedFont(e);
    }
}

private void UpdateSelectedFont(DockWindowEventArgs e)
{
    foreach (DockWindow dw in this.radDock1.DockWindows.DocumentWindows)
    {
        if (dw.TabStripItem.Text == e.DockWindow.TabStripItem.Text)
        {
            dw.TabStripItem.Font = new Font(dw.TabStripItem.Font, FontStyle.Bold);
        }
        else
        {
            dw.TabStripItem.Font = new Font(dw.TabStripItem.Font, FontStyle.Regular);
        }
    }
}
Completed
Last Updated: 27 Nov 2014 14:58 by ADMIN
To reproduce: 
1. Add several DocumentWindows and ToolWindows to the RadDock. 
2. Add RadButton controls to the available windows. 
3. Subscribe to the ActiveWindowChanged event.
4. Run the application and click over the strip item of one ToolWindow. As a result the ActiveWindowChanged  event is fired. Click over the RadButton for a DocumentWindow. You will notice that the ActiveWindowChanged  event is not fired. 

Note: When the active DocumentWindow contains controls ,e.g. RadButton, the tab strip item is not bold.

Workaround:

static RadDock dock;

public Form1()
{
    InitializeComponent();
    dock = this.radDock1;
    Application.AddMessageFilter(new MyFilterClass());
}

public const int WM_LBUTTONDOWN = 0x0201;

public class MyFilterClass : IMessageFilter
{
    public bool PreFilterMessage(ref Message m)
    {
        if (m.Msg == WM_LBUTTONDOWN)
        {
            Point pt = dock.PointToClient(Cursor.Position);
        
            var clickedElement = dock.GetChildAtPoint(pt, GetChildAtPointSkip.Invisible) ;
            while (!(clickedElement is ToolWindow || clickedElement is DocumentWindow) && clickedElement != null)
            {
                ToolTabStrip tabStrip = clickedElement as ToolTabStrip;
                if (tabStrip != null)
                {
                    clickedElement = tabStrip.ActiveWindow;
                }
                else
                {
                    clickedElement = clickedElement.GetChildAtPoint(pt,  GetChildAtPointSkip.Invisible);
                }
            }

            if (clickedElement != null)
            {
                dock.ActiveWindow = clickedElement as DockWindow;
            }
        }
        return false;
    }
}

private void radDock1_ActiveWindowChanged(object sender, Telerik.WinControls.UI.Docking.DockWindowEventArgs e)
{
    e.DockWindow.TabStripItem.Font = new Font(e.DockWindow.TabStripItem.Font, FontStyle.Bold);
    
    foreach (DocumentWindow dw in this.radDock1.DockWindows.DocumentWindows)
    {
        if (dw.Name != e.DockWindow.Name)
        {
            dw.TabStripItem.Font = new Font(e.DockWindow.TabStripItem.Font, FontStyle.Regular);
        }
    }
}
Completed
Last Updated: 28 Nov 2014 10:50 by ADMIN
To reproduce:

Me.RadDock1.DocumentTabsAlignment = Telerik.WinControls.UI.TabStripAlignment.Left
Me.RadDock1.DocumentTabsTextOrientation = Telerik.WinControls.UI.TabStripTextOrientation.Vertical

Please refer to the attached file.

Workaround:

Me.RadDock1.DocumentTabsAlignment = Telerik.WinControls.UI.TabStripAlignment.Left
Me.RadDock1.DocumentTabsTextOrientation = Telerik.WinControls.UI.TabStripTextOrientation.Vertical

For Each d As DocumentWindow In Me.RadDock1.DockWindows.DocumentWindows
    d.TabStripItem.AngleTransform = 180
Next
 
Or:
foreach (DocumentWindow d in this.radDock1.DockWindows.DocumentWindows)
{
    d.TabStripItem.FlipText = true ;
}
Completed
Last Updated: 18 Mar 2015 14:19 by ADMIN
ADMIN
Created by: George
Comments: 0
Category: Dock
Type: Bug Report
1
To reproduce:

Add a RadDock with RightToLeft - Yes and add a few document windows. You will see that the Tabs will be rendered LeftToRight. The insertion behavior is correct.