上下文菜单条 - >更改突出显示的项目的颜色

e e*_*e e 4 c# contextmenu menu visual-studio-2010

所以在我的上下文菜单条上,我想更改所选项目的颜色.例如,我希望菜单项"关于我"在突出显示时将颜色从白色更改为黑色.这是我一直在尝试的:

        ContextMenuStrip CMS = new ContextMenuStrip();
        CMS.ForeColor = Color.White;
        CMS.ShowImageMargin = false;
        var item = CMS.Items.Add("About Me", null);
        item.MouseHover += new EventHandler(CMS_MouseHover);

   void CMS_MouseHover(object sender, EventArgs e)
    {
        ContextMenuStrip CMS = sender as ContextMenuStrip;
        CMS.ForeColor = Color.Black;
    }
Run Code Online (Sandbox Code Playgroud)

我也尝试过使用ToolStripMenuitem事件处理程序,但我不认为它会在这里应用?

关于如何实现这一目标的任何建议?

我也想知道是否有办法改变高光颜色,我知道这取决于你的系统,但我只是想知道.

Gar*_*eth 10

我不相信这是最好的方法,但是一种可能的方法是在ContextMenuStrip上的各个ToolStripMenuItems上连接MouseEnter和MouseLeave事件.

例如:

    private void aboutToolStripMenuItem_MouseEnter(object sender, EventArgs e)
    {
        ToolStripMenuItem TSMI = sender as ToolStripMenuItem;
        TSMI.ForeColor = Color.Black;
    }

    private void aboutToolStripMenuItem_MouseLeave(object sender, EventArgs e)
    {
        ToolStripMenuItem TSMI = sender as ToolStripMenuItem;
        TSMI.ForeColor = Color.White;
    }
Run Code Online (Sandbox Code Playgroud)

显然,您还需要在编程创建的ToolStripMenuItem上连接事件处理程序.

你似乎试图用"CMS.ForeColor = Color.Black"改变整个ContextMenuStrip的ForeColor,这不是你想要的.尝试以上,它确实有效.