捕获上下文菜单条上的鼠标悬停事件

本文关键字:鼠标 悬停 事件 上下文 菜单 | 更新日期: 2023-09-27 17:50:06

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

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

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

ToolStripMenuItem mi = new ToolStripMenuItem();
mi.Text = "Hello";
Menu.Items.Add(mi);
mi.MouseHover += new EventHandler(mi_MouseHover);

捕获上下文菜单条上的鼠标悬停事件

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

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


 mi.MouseHover += new EventHandler(ToolStripHover);

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

你可以试试MouseEnter事件。