【问题标题】:Context Menu Strip -> Changing the color of Highlighted Items上下文菜单条 -> 更改突出显示项的颜色
【发布时间】:2012-09-10 00:06:13
【问题描述】:

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

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

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

对我如何实现这一点有什么建议吗?

我也想知道是否有办法更改突出显示颜色,我知道这取决于您的系统,但我只是想知道。

【问题讨论】:

  • This question 是相关的,答案实际上覆盖了突出显示颜色。

标签: c# visual-studio-2010 menu contextmenu


【解决方案1】:

我不相信这是最好的方法,但一种可能的方法是连接 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;
    }

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

您似乎正在尝试使用“CMS.ForeColor = Color.Black”更改整个 ContextMenuStrip 的 ForeColor,这不是您所说的想要的。以上方法都试过了。

【讨论】:

    猜你喜欢
    • 2019-09-05
    • 2020-09-05
    • 1970-01-01
    • 2015-11-17
    • 2016-03-29
    • 1970-01-01
    • 1970-01-01
    • 2010-12-12
    • 2012-10-24
    相关资源
    最近更新 更多