Telerik RadMenu dropdown submenus on mouseover

834 Views Asked by At

You know, after clicking on RadMenuItem, submenus are opening. But this not effective for me. I want that, when onmouseover event, submenus are opened automatically. Norally in winforms below codes realize my wish:

private void menuStrip_MouseEnter(object sender, EventArgs e)
{
    var menu = (ToolStripMenuItem)sender;
    menu.ShowDropDown();
}

Could you help me, how do I this in RadMenu?

EDIT: I tried like this:

private void rmiAna_MouseEnter(object sender, EventArgs e)
{
    var menu = (RadMenu)sender;
    menu.IsSubmenuOpen = true;
}

When I tried above codes, I got error like this: enter image description here

Could you help me? Kind regards.

1

There are 1 best solutions below

0
On

To show the sub menu items of root items, you can iterate all menu items and subscribe to the MouseEnter event of the root ones. In the handler, call the following method:

    private void radButton1_Click(object sender, EventArgs e)
    {
        IterateItems(radMenu1.Items);
    }

    void IterateItems(RadItemOwnerCollection items)
    {
        foreach (RadMenuItemBase item in items)
        {
            if (item.IsRootItem)
            {
                item.MouseEnter += item_MouseEnter;
            }

            if (item.HasChildItemsToShow)
            {
                IterateItems(item.Items);
            }
        }
    }

    void item_MouseEnter(object sender, EventArgs e)
    {
        RadMenuItem hoveredItem = (RadMenuItem)sender;
        hoveredItem.DropDown.Show();
    }