在ContextMenuStrip上捕获MouseHover事件

时间:2012-12-28 12:48:40

标签: c# menu notifyicon

我正在使用与NotifyIcon关联的ContextMenuStrip控件来显示多级菜单。当用户的鼠标悬停在所选项目上时,我需要加载子菜单的新分支。

不幸的是,ContextMenuStrip没有捕获MouseHover事件的事件,所以我想使用ToolStripMenuItem控件,而不是标准ToolStripItem控件。

ToolStripMenuItem有一个名为MouseHover的事件,但我需要一个事件处理程序来处理菜单中的所有项目。我不知道如何做到这一点。下面是我的代码的一部分,我用它将事件处理程序添加到单个ToolStripMenuItem

ToolStripMenuItem mi = new ToolStripMenuItem();
mi.Text = "Hello";
Menu.Items.Add(mi);

mi.MouseHover += new EventHandler(mi_MouseHover);

2 个答案:

答案 0 :(得分:1)

您可以编写特定的事件处理程序,将其用于所有工具条菜单项

    private void ToolStripHover(object sender, EventArgs e)
    {
        //Do Something
    }


 mi.MouseHover += new EventHandler(ToolStripHover);

或者,如果您使用的是Visual Studio,则可以复制ToolStripHover并将其粘贴到每个菜单项的MouseHover事件中。

答案 1 :(得分:0)

您可以尝试MouseEnter事件..