Comes from ticket 371813; 1)Create a form with RadRibbonBar, RadDock with some (3) windows, set key tips to the RibbonBar and run the form. 2) Hold and release the Alt key. The numbers show up on the ribbonbar as expected. 3) Click somewhere but not on the tabdocument to turn off the numbers ( notice that the initial tab will be "documentWindow1") 4) click on "documentWindow3" to select it 5) press the the Alt key again. The tabs will switch back to "documentWindow1" !!!
OnActivated is fired before OnLoad in forms which have RadDock instances. However, OnLoad should be fired before OnActivated.
When the DockWindowClosing event is fired, the ActiveWindow has already been changed.
To reproduce: Add RadMenu, add item, add radshortcut, dock the form as mdi child
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.
In design-time the floating functionality from double click must be disabled.
Steps to reproduce: - Create a form with RadDock on it - Use the following code in another form: Using frm As New FormWithDock() frm.ShowDialog() End Using - Close the dialog (FormWithDock) -> exception is thrown WORKAROUND - dispose the dock on form closing: Protected Overrides Sub OnClosing(e As System.ComponentModel.CancelEventArgs) RadDock1.Dispose() MyBase.OnClosing(e) End Sub
When the RadDiock is in right to left mode and the QuickNavigator is shown. The snapshot in the QuickNavigator is of the top-left corner of the window in the current context. The snapshot should display the top-right corner.
If you have a RadDock with child form in an MDI scenario, and you swtich between the tabs of the hosted forms, the Activated event of these forms will not be fired.
To reproduce: - Create a MDI application with a RadDock in the mainform. - Add docked to the left ToolWindow to the dock. - On a button click add a child form with a RadDateTimePicker in it. - Set the picker Dock property to Top. Workaround: - Use the following SizeChanged event handler: private void RadForm1_SizeChanged(object sender, EventArgs e) { this.rdMain.Width++; this.rdMain.Width--; }
To reproduce: Follow these steps: 1. Extract the project I have attached and open it in Visual Studio. 2. Run it. 2a. You should note two docked windows on the left (tabbed). 3. Click on the "Open Next Window" button. The first two clicks will simple open the first two docking windows (already open) On the 3rd click another docking window should appear on the right. Click the button a couple more times. You should have 3 docked windows on the right. 4. Now, drag the windows on the left so they are floating and docked together. 5. Click on the Save Layout button at the bottom. 6. Close and rerun the sample. You should note that the floating windows appear at the expected location. Move them off to the side away from their default location (away from the center of the screen) So far so good. 7. Upon reopening the application with toolWindow3, 4 and 5 floating and docked close the floating window. 8. Save the layout. --> This is where the key is... 9. Close and rerun the sample. If you watch quickly you'll see several windows "flicker". They appear and disappear quickly. Now, if you hit the "Open Next Window" button 5x, it will open the first two (already open) and then open the 3rd, 4th and 5th windows. But NOTE - they are NOT docked together. They are also not at the location where you left them (remember you needed to move them to the side)
To reproduce: -add a RadDock with one ToolWindow; -add two RadButtons; Use the following code: const string Filename = "dock.xml"; public Form1() { InitializeComponent(); var positions = (DockPosition[])Enum.GetValues(typeof(DockPosition)); for (int i = 0; i < positions.Length; ++i) { RadButton btn = new RadButton(); btn.Text = "Steps" + (i + 1); var position = positions[i]; if (position == DockPosition.Fill) { radDock1.DockControl(btn, toolWindow1, position); } else { radDock1.DockControl(btn, position); } } } private void radButton1_Click(object sender, EventArgs e) { using (var stream = File.Create(Filename)) { radDock1.SaveToXml(stream); } } private void radButton2_Click(object sender, EventArgs e) { if (File.Exists(Filename)) { using (var stream = File.OpenRead(Filename)) { radDock1.LoadFromXml(stream); } } } Steps to reproduce: 1.Float the Steps1 window 2.Hide the Steps1 floating window 3.File --> Save Layout 4.File --> Load Layout 5.Note that the Steps1 window is docked where it was before it was floated 6.Click the Steps1 toggle button in the RadCommandBar 7.Note that the Steps1 window is floating in the correct position Workaround: private void radMenuItem3_Click(object sender, EventArgs e) { if (File.Exists(Filename)) { using (var stream = File.OpenRead(Filename)) { radDock1.LoadFromXml(stream); foreach (DockWindow window in this.radDock1.DockWindows.ToolWindows) { if (window.DockState == DockState.Hidden) { window.DockState = DockState.Docked; window.DockState = DockState.Hidden; } } } } }
To reproduce: -add a RadDock with several ToolWindows docked to one common container; -drag the container ouside the RadDock in order to create a FloatingForm, holding all of the ToolWindows; -close the FloatingForm via "X" button; -save the layout; -restart the application; -load the layout; -iterate through all of the ToolWindows and call their Show() method. Each ToolWindow is displayed in a separate FloatingForm; If you skip the step with restarting the application, all ToolWindows are shown in one common FloatingForm;
1. Create a project with RadDock. 2. Add several tool windows. 3. Run the project. 4. Auto hide all tool windows at the bottom. 5. Close the last tool window. 6. Save the layout. 7. Load the layout.
Xml serialization not work in scenarios with inherited ToolWindow
Trying to Double-Click ToolWindow to dock it back on RadDock as a Tab... When you set a ToolWindow to only AllowedDockStates of Floating,TabbedDocument and Hidden, you lose the header double-click functionality of the toolwindow that pops the ToolWindow out as a floating window as well as pops it back in as a tabbed document. If you add AllowedDockState of Docked, the double-click functionality works. I am working with ToolWindows on a RadDock control and want them only represented as either Floating or TabbedDocuments with the ability to double-click a floating window caption and pop it back onto the RadDock control as a TabbedDocument. I got the double-click functionality to pop a floating window back in by using DockStateChanged and TransactionCommitment events. The less important one of double-clicking on a TabbedDocument header to pop it back out I have not yet done. I use the DockStateChanged event to fire when ToolWindows are set to floating and change the AllowedDockState of that window to use Docked. I use TransactionCommitment to change a ToolWindow's AllowedDockState to exclude Docked and programmatically change the DockState of the window to TabbedDocument. Is this the best approach or did I miss a simple property or something? I pasted the two methods below for your convenience. Resolution: In Q1 2014 (version 2014.1.226) we introduced an floating option for tabbed document which resolved this issue. Here is the link to the feedback item: http://feedback.telerik.com/Project/154/Feedback/Details/111942-improve-give-floating-option-for-tabbed-document
When reducing the size of a right-docked auto-hide tool window it goes out of the area of the RadDock
Description: for example if we have two auto-hidden Tool windows (left and right), first click on the right one but don't pin it, then click on the left one (don't pin it also) and you will notice that for a fraction of time its caption displays the text of the previous window. Then you can click the right window again and you'll see the opposite effect. This tiny fraction of time raises to a significant period of time when tool windows are loaded with multiple controls. AutoHideWindowDisplaying event fires before ActiveWindowChanged event (AutoHideTabStrip.ActiveWindow is the other tool window during AutoHideWindowDisplaying). That is why for a fraction of time (during AutoHideWindowDisplaying event) you can see different caption text. To reproduce: - add RadDock - add two auto-hidden Tool windows (left and right) - first click the right one in order to display the hidden tool window -> for a fraction of time its caption is for the other tool window Workaround: private void radDock1_AutoHideWindowDisplaying(object sender, AutoHideWindowDisplayingEventArgs e) { AutoHideTabStrip autoHide = e.NewWindow.DockTabStrip as AutoHideTabStrip; if (autoHide != null) { autoHide.ActiveWindow.Text = e.DockWindow.Text; } } Another possibility to reduce the flicker is to stop the animations: radDock1.AutoHideAnimation = AutoHideAnimateMode.None;
There should be mechanism for specifying which windows should be saved by the SaveToXml method. Resolution: You need to subscribe to the DockWindowSerializing event to prevent saving of window. Please refer to the following code example: void radDock1_DockWindowSerializing(object sender, DockWindowCancelEventArgs e) { if (e.NewWindow.Text == "WindowName") { e.Cancel = true; } }
A nice addition to the existing save/load layout functionality of RadDock will be the possibility to save the AutoHideSize value.