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
To reproduce: - Add three charts to a RadLayoutControl (the should have an equal size). - In the form's constructor add the layout control to a document window. - Resize the form, the third chart has a different size. Workaround: Use the OnShown event to add the control.
Workaround: this.toolTabStrip1.CaptionElement.RightToLeft = false;
This request concerns adding a state for the buttons in the ToolWindow caption, which will allow different theming for the buttons, when the window is active and inactive.
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.
To reproduce: - Add a tool window to RadDock - Make the tool window floating and double-click its title bar. - Click the maximaze button.
To reproduce: - Add several tool windows to RadDock. - Make a window floating and then dock it back. - Hide all windows and then save the layout. - Close the application. - Start the application and load the saved layout. - Show all windows again.
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.
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
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); } }
http://blogs.msdn.com/b/zainnab/archive/2012/06/19/visual-studio-2012-new-features-preview-tab.aspx
support of Pin tab operation in DocumentContainer of RadDock
Dock windows should keep its icon and image that is set for them in a previous state, no matter their form, tabbed, docked,
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
as magnetic behaviour I mean that when you move a window close to another window, the first window just snap to the other. The same behaviour is fine when you resize a window. The magnetic behaviour helps you to arrange floating windows into the screen, so people dont get crazy trying to align and resize all the floating windows around in the screen.
The user should be allowed to modify the default behavior of floating windows and decide whether they should be owned by the main Form or they should act like normal Forms - with Minimize/Maximize options and appearing in the System's Taskbar.
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; }
Workaround: use the RadDock.ActiveWindowChanging event instead.
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; }