Как изменить цвет всех частей полосы меню в C# - PullRequest
0 голосов
/ 20 апреля 2020

Пожалуйста, внимательно посмотрите на картинку

Как изменить цвет белых частей на изображении ниже?

Image1

Я использовал:

ToolStripManager - ProfessionalColorTable - ToolStripProfessionalRenderer

, но они не были полезны.

Я хочу, чтобы мое меню выглядело как на рисунке ниже. Нет белых частей .

Image2

Я использовал следующий метод для решить эту проблему, но это не помогло.

Сначала я создал класс "MyProfessionalColors" и унаследовал от "ProfessionalColorTable" .

затем я переопределяю все свойства, связанные с MenuStrip.

class MyProfessionalColors : ProfessionalColorTable
{
    public override Color MenuStripGradientBegin
    {
        get
        {
            return Color.FromArgb(35, 35, 35);
        }
    }
    public override Color MenuStripGradientEnd
    {
        get
        {
            return Color.FromArgb(35, 35, 35);
        }
    }
    public override Color MenuItemPressedGradientBegin
    {
        get
        {
            return Color.FromArgb(20, 20, 20);
        }
    }
    public override Color MenuItemPressedGradientMiddle
    {
        get
        {
            return Color.FromArgb(20, 20, 20);
        }
    }
    public override Color MenuItemPressedGradientEnd
    {
        get
        {
            return Color.FromArgb(20, 20, 20);
        }
    }
    public override Color MenuBorder
    {
        get
        {
            return Color.FromArgb(20, 20, 20);
        }
    }
    public override Color MenuItemSelected
    {
        get
        {
            return Color.FromArgb(50, 50, 50);
        }
    }
    public override Color MenuItemSelectedGradientBegin
    {
        get
        {
            return Color.FromArgb(50, 50, 50);
        }
    }
    public override Color MenuItemSelectedGradientEnd
    {
        get
        {
            return Color.FromArgb(50, 50, 50);
        }
    }
    public override Color MenuItemBorder
    {
        get
        {
            return Color.FromArgb(35, 35, 35);
        }
    }
}

Затем я использовал его

 ToolStripManager.Renderer = new ToolStripProfessionalRenderer
                        (new MyProfessionalColors());

Но часть элемента управления не изменила цвет.

Как я могу изменить эту часть?

Нужно ли создавать собственный элемент управления и использовать его?

...