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.
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.
Th attached gif file illustrates the desired behavior which is supported in the MS MenuStrip.
Use attached to reproduce. Workaround: private void Item_Click(object sender, EventArgs e) { menu.DropDown.ClosePopup(new PopupCloseInfo(RadPopupCloseReason.CloseCalled,null)); }
Introduce menu merge when the MDI children are in RadDock
Improve the extensibility of RadMenuItem to allow easy layout modifications.
Example: http://www.telerik.com/help/aspnet-ajax/menu-items-xml.html
Examples: http://www.telerik.com/help/aspnet-ajax/menu-data-binding-overview.html
RadMenuItem should be able to be as wide as the Image in it, if there is not text.
Currently RadMenu wraps its items when there is no enough space in the parent container. A possible alternative would be to implement scrolling.
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
Add functionality (DropDownNeeded event for example) for load on demand for child menu items in RadMenu.
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.
Workaround: set the TextImageRelation property of the items to ImageBeforeText, you can also check the attached gif file
Use the attached project to reproduce. It contains a workaround as well.
How to reproduce: Add a RadContextMenu and an ImageList to a form, then add some images to the image list and set the ImageList property of the context menu to equal the image list object. Add some items and sub items to the context menu. Setting the image index of a sub item is not reflected by the context menu. Workaround: 1. Design time: and the images as resources and set the image property of each item 2. Set the image index of the sub items at runtime
To reproduce: 1. Add a RadMenu with one item which has one child item. 2. Click on "radMenuItem1" then will appear "radMenuItem2 " . - Keep ("radMenuItem2") open and do not click on it - 3. Go out of the form and click on empty area . 4. Return to the menu and just move mouse over the "radMenuItem1" and it will appear "radMenuItem2" and also move the mouse over the "radMenuItem2" and keep it open . ("do not click on menus") 5. Go out of the form and click the Show Desktop button on the bottom right of the screen 6. Now you can see the problem , the menu has not closed Workaround: override the WndProc method in your Form with the following: protected override void WndProc(ref Message m) { if (m.Msg == NativeMethods.WM_SIZE && (int)m.LParam == 0 && (int)m.WParam == 1) { PopupManager.Default.CloseAll(RadPopupCloseReason.AppFocusChange); } base.WndProc(ref m); } if the above does not work, you can try the following: private void Form1_Deactivate(object sender, EventArgs e) { PopupManager.Default.CloseAll(RadPopupCloseReason.AppFocusChange); }
To reproduce: - Add RadMenu with some items to a blank form. - Initialize the menu like this: Me.RadMenu1.RightToLeft = System.Windows.Forms.RightToLeft.Yes Me.RadMenu1.DropDownAnimationEnabled = True Me.RadMenu1.DropDownAnimationFrames = 30 Me.RadMenu1.DropDownAnimationEasing = RadEasingType.OutElastic - Show the item drop down manually : Private Sub RadMenuItem_MouseHover(sender As Object, e As EventArgs) Dim item As RadMenuItem = TryCast(sender, RadMenuItem) If item IsNot Nothing Then item.DropDown.Show() End If End Sub
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; } } } } }