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, Sr.
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.
Completed
Last Updated: 02 Feb 2015 08:15 by ADMIN
To reproduce:
- Add two MDI child forms to a RadDock.
- Close the second one in the first one's close event.
- Start the application and close the first form.

Completed
Last Updated: 27 Aug 2015 15:15 by ADMIN
ADMIN
Created by: Dess | Tech Support Engineer, Sr.
Comments: 1
Category: Dock
Type: Feature Request
1
http://blogs.msdn.com/b/zainnab/archive/2012/06/19/visual-studio-2012-new-features-preview-tab.aspx
Completed
Last Updated: 10 Nov 2014 09:00 by ADMIN
To reproduce:
Use the BugTracker project from the {IntallationFolder}\Examples\BugTracker
1. Change the CloseAction for all DocumentWindows to "Hide".
2. Run the application.
3. Close tab "Bugs"
4. Save the layout, pressing the "Save" button ribbon tab "view"
5. Load the layout.
 You will notice that the "Bugs" tab is visible but in a invalid state.

Workaround: use  DocumentWindow.CloseAction = Close or call  DocumentWindow.Show method before loading the layout.
Declined
Last Updated: 06 Feb 2015 09:50 by ADMIN
To reproduce:

Have a RadDock with a docked ToolWindow. Undock the ToolWindow by double-clicking it and dock it back. Now undock it by dragging it. If you now check the FloatingWindows collection you will see that there are two windows with the same name.

Workaround:

When iterating the windows, skip duplicates:

HashSet<string> iteratedWindows = new HashSet<string>();
foreach (FloatingWindow win in this.radDock1.FloatingWindows)
{
    if (iteratedWindows.Contains(win.Text))
    {
        return;
    }

    win.Visible = hide;
    iteratedWindows.Add(win.Text);
}

Resolution: 
The FloatingWindows property gets a list of the floating windows, can contain duplicates, empty or hidden toolwindows which are used internally as re-dock targets. Use the ActiveFloatingWindows property instead of it.