Отключить подсветку ToolStripMenuItem без потери фона - PullRequest
0 голосов
/ 18 апреля 2019

Итак, у меня есть MenuStrip с парой ToolStripMenuItem с.Два из моих 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();

Это прекрасно работаетдля элементов, которые не имеют установленного фонового изображения.Для тех с установленным фоном фоновое изображение не будет отображаться.

Я хочу, чтобы фоновое изображение было видимым, как это сделать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...