0

所以我有一个MenuStrip和几个ToolStripMenuItems。我的两个ToolStripMenuItem组件有一个背景图像(电池图标和关机图标)。

现在我想为我设置了背景MenuStrip的元素禁用默认的鼠标悬停效果(蓝色背景) 。ToolStripMenuItem为此,我重写了OnRenderMenuItemBackground事件实现,如下所示:

internal class NoHighlightRenderer : ToolStripProfessionalRenderer
    {
        protected override void OnRenderMenuItemBackground(ToolStripItemRenderEventArgs e)
        {
            if (e.Item.OwnerItem != null)
            {
                base.OnRenderMenuItemBackground(e);
            }
        }
    }

并像这样使用这个自定义渲染器MenuStrip

myMenuStrip.Renderer = new NoHighlightRenderer();

这适用于没有设置背景图像的元素。对于设置了背景的,背景图像将不会显示。

我希望背景图像可见,如何做到这一点?

4

0 回答 0