Unplanned
Last Updated: 17 Apr 2024 14:35 by ADMIN
ADMIN
Created by: Dess | Tech Support Engineer, Principal
Comments: 0
Category:
Type: Bug Report
1
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.
Unplanned
Last Updated: 01 Mar 2019 12:57 by ADMIN

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.

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;
Declined
Last Updated: 11 Sep 2018 12:02 by ADMIN
To reproduce:

Add a RadMenu and a RadMenuItem. To the RadMenuItem add another items, make some of them disabled. Open the first menu item and navigate with the arrows, you will see that the disabled items are selected but no visually.

They should be skipped during navigation

Workaround:

Use the following custom RadMenuItem. The navigation logic is overriden in the RadDropDownMenu:

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;

    var itemIndex = this.Items.IndexOf(selectedItem);
    for (int i = itemIndex; i < this.Items.Count - itemIndex; i++)
    {
        nextItem = this.GetNextItem(nextItem, !isUp);
        if (nextItem.Enabled)
        {
            break;
        }
    }

    this.SelectItem(nextItem);

    return true;
}


    public override string ThemeClassName
    {
        get
        {
            return typeof(RadDropDownMenu).FullName;
        }
        set
        {
        }
    }
}

Declined
Last Updated: 13 Jun 2018 07:05 by ADMIN
Note:  this problem is reproducible with RadTextBoxControl as well. The Enter and Leave events also don't fire when RadTextBoxControl is inside a RadPopupContainer

Resolution:

Case 1:
RadTextBoxElement is not a control and do not have validation events. Use RadTextBox with RadMenuHostItem instead:

RadTextBox tb = new RadTextBox();
RadMenuHostItem item = new RadMenuHostItem(tb);
tb.Validating += Tb_Validating;
item.MinSize = new Size(50, 20);
radMenu1.Items.Add(item);

Case 2:

RadPopupEditor has message filter which is responsible for closing the popup and it intercept the leave and enter messages. Use GotFocus and LostFocus instead.
Unplanned
Last Updated: 20 Nov 2017 14:03 by ADMIN
Use attached to reproduce.

Workaround:
private void Item_Click(object sender, EventArgs e)
{
    menu.DropDown.ClosePopup(new PopupCloseInfo(RadPopupCloseReason.CloseCalled,null));
}
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
Unplanned
Last Updated: 14 Aug 2017 13:41 by ADMIN
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);
    }
}
Completed
Last Updated: 14 Aug 2017 13:38 by ADMIN
Unplanned
Last Updated: 19 Jun 2017 11:09 by ADMIN
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.
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);
    }
}
Unplanned
Last Updated: 30 Mar 2016 09:17 by ADMIN
Unplanned
Last Updated: 30 Mar 2016 09:16 by ADMIN
Use the attached project to reproduce. It contains a workaround as well.
Unplanned
Last Updated: 30 Mar 2016 09:16 by ADMIN
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
Unplanned
Last Updated: 30 Mar 2016 09:16 by ADMIN
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);
}
1 2 3 4