Completed
Last Updated: 02 Nov 2018 08:53 by Alexander
Created by: Alexander
Comments: 0
Category:
Type: Bug Report
0
This is really bad for usability. When a user clicks on a seperator by accident the menu closes and nothing happens.
Completed
Last Updated: 12 Oct 2018 09:46 by Dimitar
ADMIN
Created by: Dimitar
Comments: 0
Category:
Type: Bug Report
0
Use attached to reproduce.
- open the menu and press the down arrow. This disabled items should not be selected.

Woekaround:
public class MyMenuItem : RadMenuItem
{
    public MyMenuItem()
        : base()
    {

    }

    public MyMenuItem(string text)
        : base(text)
    {
    }

    protected override RadDropDownMenu CreateDropDownMenu()
    {
        return new MyDropDown(this);
    }

    protected override Type ThemeEffectiveType
    {
        get
        {
            return typeof(RadMenuItem);
        }
    }
}

public class MyDropDown : RadDropDownMenu
{
    public MyDropDown(RadElement owner)
        : base(owner)
    {
    }

    protected override bool ProcessUpDownNavigationKey(bool isUp)
    {
        var selectedItem = this.GetSelectedItem();
        RadItem nextItem = selectedItem;

        do
        {
            nextItem = this.GetNextItem(nextItem, !isUp);

        } while (!nextItem.Enabled);

        this.SelectItem(nextItem);

        return true;
    }


    public override string ThemeClassName
    {
        get
        {
            return typeof(RadDropDownMenu).FullName;
        }
        set
        {
        }
    }
}
Completed
Last Updated: 11 Oct 2018 14:26 by Dimitar
To reproduce:
- Add an item and then use the Clear method.
- The arrow is still visible.

Workaround:
 radMenuItem2.Layout.ArrowPrimitive.Visibility = Telerik.WinControls.ElementVisibility.Collapsed;
Completed
Last Updated: 15 Aug 2017 10:28 by ADMIN
How to reproduce: create a RadMenu and set the VisualStudio2012Dark theme

Workaround: use the attached custom theme
Completed
Last Updated: 14 Aug 2017 13:38 by ADMIN
Completed
Last Updated: 29 May 2017 10:22 by ADMIN
ADMIN
Created by: Dess | Tech Support Engineer, Principal
Comments: 0
Category:
Type: Bug Report
1
When you open the drop down with menu items and hover a certain item, it is selected and orange fill is applied. Try to navigate with up/down arrow keys. The respective item will be selected. However, the hovered item still remains orange. It is not correct. In MS Word for example only one item is highlighted(selected) at a time.
Completed
Last Updated: 09 Aug 2016 10:02 by ADMIN
To reproduce
- Set the item text like this:
  this.radMenuItem3.Text = "&Пункт меню";


Workaround:
class Item : RadMenuItem
{
    protected override RadDropDownMenu CreateDropDownMenu()
    {
        return new MyDropDownMenu(this);
    }
    protected override Type ThemeEffectiveType
    {
        get
        {
            return typeof(RadMenuItem);
        }
    }
}
class MyDropDownMenu : RadDropDownMenu
{
    public MyDropDownMenu(RadMenuItem owner) : base(owner)
    { }

   
    protected override bool ProcessMnemonic(Keys keyData)
    {
        var charKey = VirtualKeyCodeToUnicode(keyData);

        List<RadItem> mnemonicItems = new List<RadItem>();
        int selectedIndex = -1;
        RadItem selectedItem = this.GetSelectedItem();
        foreach (RadItem menuItem in this.Items)
        {
            if (IsMnemonic(charKey[0], menuItem.Text) && menuItem.Enabled && menuItem.Visibility == ElementVisibility.Visible)
            {
                mnemonicItems.Add(menuItem);
                if (selectedItem == menuItem)
                {
                    selectedIndex = mnemonicItems.Count - 1;
                }
            }
        }

        if (mnemonicItems.Count == 1)
        {
            mnemonicItems[0].Select();
            mnemonicItems[0].PerformClick();

           
            return true;
        }
        else if (mnemonicItems.Count > 0)
        {
            selectedIndex = (selectedIndex + 1) % mnemonicItems.Count;
            mnemonicItems[selectedIndex].Focus();
            this.SelectItem(mnemonicItems[selectedIndex]);
            return true;
        }


        return false;
        //return base.ProcessMnemonic(keyData);
    }

    public string VirtualKeyCodeToUnicode(Keys key)
    {
        uint virtualKeyCode = (uint) key;
        StringBuilder result = new StringBuilder();

        byte[] keyboardState = new byte[255];
        bool keyboardStateStatus = GetKeyboardState(keyboardState);

        if (!keyboardStateStatus)
        {
            return "";
        }

        uint scanCode = MapVirtualKey(virtualKeyCode, 0);
        IntPtr inputLocaleIdentifier = GetKeyboardLayout(0);

        ToUnicodeEx(virtualKeyCode, scanCode, keyboardState, result, (int) 5, (uint) 0, inputLocaleIdentifier);

        return result.ToString();
    }
    [DllImport("user32.dll")]
    static extern bool GetKeyboardState(byte[] lpKeyState);

    [DllImport("user32.dll")]
    static extern uint MapVirtualKey(uint uCode, uint uMapType);

    [DllImport("user32.dll")]
    static extern IntPtr GetKeyboardLayout(uint idThread);

    [DllImport("user32.dll")]
    static extern int ToUnicodeEx(uint wVirtKey, uint wScanCode, byte[] lpKeyState, [Out, MarshalAs(UnmanagedType.LPWStr)] StringBuilder pwszBuff, int cchBuff, uint wFlags, IntPtr dwhkl);
}


Completed
Last Updated: 28 Jun 2016 11:32 by ADMIN
RadContextMenu items are not copied when the context menu is copied.
Completed
Last Updated: 13 Apr 2016 13:11 by ADMIN
To reproduce:

RadMenuItem item = new RadMenuItem();
item.Text = "Item1";    

RadMenuComboItem comboItem = new RadMenuComboItem();
comboItem.ComboBoxElement.DropDownStyle = RadDropDownStyle.DropDownList; 
comboItem.Items.Add("meters");
comboItem.Items.Add("feet");         
item.Items.Add(comboItem);
this.radApplicationMenu1.Items.Add(item);


The undesired behavior is illustrated better in the attached file.

Workaround:

item.DropDownClosing += item_DropDownClosing;
comboItem.ComboBoxElement.EditableElement.MouseDown += EditableElement_MouseDown;
comboItem.ComboBoxElement.EditableElement.MouseUp += EditableElement_MouseUp;

bool shouldCancel = false;

private void EditableElement_MouseUp(object sender, MouseEventArgs e)
{
    shouldCancel = false;
}

private void EditableElement_MouseDown(object sender, MouseEventArgs e)
{
    shouldCancel = true;
}

private void item_DropDownClosing(object sender, RadPopupClosingEventArgs args)
{
    args.Cancel = shouldCancel;
}

private void ComboBoxElement_SelectedIndexChanged(object sender, PositionChangedEventArgs e)
{
    RadDropDownListElement ddle = sender as RadDropDownListElement;
    if (ddle != null && e.Position < ddle.Items.Count)
    {
        RadMessageBox.Show(ddle.Items[e.Position].Text);
    }
}
Completed
Last Updated: 10 Sep 2015 08:24 by ADMIN
To reproduce: 
1. Add a new form 
2. Drag and drop RadApplicationMenu on the form
3. Add RadMenuSeparatorItem at design time 
4. Save the form
5. Press Ctrl + Z to undo changes 
6. Press Ctrl + Y to redo changes 
7. An exception is thrown with message: Object of type 'System.Boolean' cannot be converted to type 'Telerik.WinControls.ElementVisibility'.
Completed
Last Updated: 20 Jan 2015 17:56 by ADMIN
Workaround:

 foreach (RadMenuItem item in radMenu1.Items)
            {
                item.Layout.Text.Font = new Font("Tahoma", 12, FontStyle.Bold);
            }
Completed
Last Updated: 05 Nov 2014 14:02 by ADMIN
To reproduce: 
1. Drag and drop RadMenu on form. 
2. Add few items
3. Set design time the ForeColor of of RadMenuItem to red.  The ForeColor is changed.
4. Run the form and you will see that the ForeColor of RadMenuItem is black again. 

Workaround:  
1. Set the ForeColor run time using following code  snippet: 
this.radMenuItem1.ForeColor = Color.Red;
 
2. Set the ForeColor of TextPrimitive through Element hierarchy editor. You can see the DesignTimeSetForeColorOfRadMenuItem.png image how to set it.  
Completed
Last Updated: 05 Nov 2014 12:50 by ADMIN
You can use following workarounds:

1)The menu items are components and you can edit any menu item directly in your code. For example:
this.radMenuItem10.Click+=menuItemClickMethod;

Also you can selected and edit them in these ways:

2) Selected a particular menu item via Visual Studio's Document Outline window (ctrl+W, U). Then you will be able to selected the desired item from the hierarchy. After that item will be selected in the property grid and you can add/remove events and edit its properties.

3) You can select a specific menu item directly via Visual Studio's Property Grid's Component combobox (on the top of the property grid)
Completed
Last Updated: 05 Nov 2014 12:50 by ADMIN
To reproduce: 
1. Add RadForm and set the following properties at design time: 
this.AutoSize = true;
this.WindowState = FormWindowState.Maximized;
this.Size = new Size(750, 500); 
2. Add RadMenu and add more than 10 menu items
3. Run the application and you will see that menu items are overlapped (see the attached image)

Workaround: 
Restore the WindowState of form to Normal at design time and set the WindowState to Maximized run time in the Load event of form. Here is the snippet: 
private void RadForm1_Load(object sender, EventArgs e)
{
    this.WindowState = FormWindowState.Maximized;
}
Completed
Last Updated: 05 Nov 2014 12:49 by ADMIN
The default value of the RadMenuButtonItem.TextImageRelation property was ImageBeforeText until Q3 2014 after which it has changed to Overlay.
Completed
Last Updated: 20 Oct 2014 12:19 by ADMIN
To reproduce: Try to set a tooltip for RadButtonElement in RadApplicationMenu during design time
Completed
Last Updated: 13 Oct 2014 10:53 by ADMIN
The ToolTipTextNeeded event is not fired for the menu items that appear in a menu popup
Completed
Last Updated: 01 Oct 2014 13:00 by ADMIN
Add two menu items to a context menu and set their texts to "&Command 1" and "&Command 2". Add some actions to to be executed when each is clicked. Set the visibility of the first one to hidden or collapsed and run the project. Open the context menu and press the "C" key. You will see that the action of the first menu item will be executed although only the second is visible in the context menu.
1 2 3