鼠标悬停时Telerik RadMenu下拉子菜单

时间:2015-11-28 13:40:58

标签: c# winforms telerik radmenu

你知道,点击RadMenuItem后,子菜单正在打开。但这对我没有效果。我想要的是,当onmouseover事件时,子菜单会自动打开。在winforms下面的代码实现了我的愿望:

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

你能帮我吗,我在RadMenu怎么办?

编辑:我试过这样:

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

当我尝试上面的代码时,我得到了这样的错误: enter image description here

你可以帮帮我吗? 亲切的问候。

1 个答案:

答案 0 :(得分:0)

要显示根项的子菜单项,您可以迭代所有菜单项并订阅根项的MouseEnter事件。在处理程序中,调用以下方法:

    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();
    }