Introduce menu merge when the MDI children are in RadDock
Examples: http://www.telerik.com/help/aspnet-ajax/menu-data-binding-overview.html
Example: http://www.telerik.com/help/aspnet-ajax/menu-items-xml.html
For RadMenu there should be a property which determines whether the accelerator keys are underlined even when the RadMenu is not focused. The available options for that menu should be Yes, No and WindowsDefined
To reproduce: - Add RadForm with RadMenu with some items - set this.IsMdiContainer = true; - Run and hit the close button -> note the while closing the title bar looses its theme WORKAROUND: radMenu1.IsMainMenu = false;
Steps to reproduce: 1. Add a RadMenu to a form 2. Set up the form to be an MDI parent 3. Add a menu item and set its MdiList property to true 4. Add several mdi children and run the project You will see that the menu drop down will have scroll bar(s) Workaround the issue by setting the MinSize property of the last item in the items in the drop down: radMenuItem1.Items[radMenuItem1.Items.Count - 1].MinSize = new System.Drawing.Size(0, radMenuItem1.Items[radMenuItem1.Items.Count - 1].Size.Height + 1);
Steps to reproduce: 1. Add a RadMenu to a form 2. Add menu item with two sub menu items 3. Add a mnemonic to the first one e.g. &First 4. Add a shortcut to the second with the mnemonic letter of the first one e.g. Crtl + F 5. Run the application and open the menu popup, press Ctrl + F and you will see that the second item will be clicked and then the first one will be clicked as well. The reason for this is that RadMenu and the PopupManager are both registered to listen for windows messages. When the popup handles the shortcut the popup receives a message and it handles the mnemonic.
Add functionality (DropDownNeeded event for example) for load on demand for child menu items in RadMenu.
Currently RadMenu wraps its items when there is no enough space in the parent container. A possible alternative would be to implement scrolling.
Workaround: manually add the source menu items to the destination menu by the time of opening the child form and then when you close it, you should put them back.
Workaround: menu.DropDown.RootElement.Children[0].Children[3].Children[1].Children[2].MaxSize = new Size(0, 400); menu.DropDown.PopupElement.MaxSize = new Size(0, 400);
Use the attached project to reproduce. It contains a workaround as well.
To reproduce: 1. Drop RadApplicationMenu from the toolbox on to the windows form. 2. Click on the control to open menu and select "Add new > New RadMenuSeparatorItem" option to add new item. 3. Save the form. 4. Press Ctrl+Z to undo changes. Here added RadMenuSeparatorItem is removed from the control. 5. Now press Ctrl+Y to Redo the changes. Here added item is not added again after performing Redo action.
How to reproduce: check the attached project and video Workaround: public partial class RadForm1 : Telerik.WinControls.UI.RadForm { public RadForm1() { InitializeComponent(); this.LostFocus += RadForm1_LostFocus1; } private void RadForm1_LostFocus1(object sender, EventArgs e) { //Workaround this.radMenu1.GetType().GetField("shouldShowChildren", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic).SetValue(this.radMenu1, false); } }
To reproduce: Open a WinForms project. Add a RadMenu and add a File menu item. Add a Search Item to the File menu Add an imagelist with images. Drop the File Menu and select the Search menu item Make sure the Search menuItem is selected in the property grid Try to assign an imageIndex to the search MenuItem. You can't Workaround: restart Visual Studio and try again to assign the ImageIndex.
Th attached gif file illustrates the desired behavior which is supported in the MS MenuStrip.
Please refer to the attached sample project.
1. Run the application, Excel will be opened.
2. In the Add-ins tab, click button2. A form with a RadMenu will be shown.
3. Close Excel but leave the form opened. As a result Excel hangs.
To reproduce: Add a RadForm as MDI child to another form. Add RadMenu to the child and the main forms. Associate hotkeys as follows: RadMenuItem item = new RadMenuItem; item.Text = "&File"; You will notice that only the main menu can be accessed with the Alt key and the shortcut. Workaround: Subscribe for each childform's KeyUp event and use the following event handler: private void childForm_KeyUp(object sender, KeyEventArgs e) { Form form = sender as Form; if (!form.Focused) { return; } RadMenu menu = null; foreach (Control control in form.Controls) { if (control is RadMenu) { menu = control as RadMenu; break; } } if ((Control.ModifierKeys & Keys.Alt) == Keys.Alt && menu != null) { foreach (RadItem item in menu.Items) { int ampersantIndex = item.Text.IndexOf("&"); if (ampersantIndex != -1) { char hotkeyChar = item.Text[ampersantIndex + 1]; if (char.ToLower(hotkeyChar) == char.ToLower((char)e.KeyValue)) { item.PerformClick(); break; } } } } }
RadMenuItem should be able to be as wide as the Image in it, if there is not text.
If you try to style the Right column menu of RadApplicationMenu, your changes will not be persisted and applied to the control. Workaround: FillPrimitive fill = (FillPrimitive)this.radRibbonBar1.RibbonBarElement.ApplicationButtonElement.DropDownMenu.RootElement.Children[0].Children[0].Children[2].Children[0].Children[2].Children[1].Children[0]; fill.BackColor = Color.Orange; fill.BackColor2 = Color.Red;