Как обрабатывать свойство ContextMenuStrip, особенно цвет границы - PullRequest
0 голосов
/ 18 марта 2020

Как обрабатывать ContextMenuStrip свойство, особенно цвет границы ???

Любой метод в C# ИЛИ Любым способом, используя Windows API (DllImport)?

image

1 Ответ

1 голос
/ 18 марта 2020

Вы можете создать пользовательскую таблицу цветов и изменить свойство Renderer:

 public class MenuColorTable : ProfessionalColorTable
{
    public MenuColorTable()
    {
        UseSystemColors = false;
    }
    public override Color MenuBorder
    {
        get { return Color.Fuchsia; }
    }
    public override Color MenuItemBorder
    {
        get { return Color.DarkViolet; }
    }
    public override Color MenuItemSelected
    {
        get { return Color.Cornsilk; }
    }
    public override Color MenuItemSelectedGradientBegin
    {
        get { return Color.LawnGreen; }
    }
    public override Color MenuItemSelectedGradientEnd
    {
        get { return Color.MediumSeaGreen; }
    }
    public override Color MenuStripGradientBegin
    {
        get { return Color.AliceBlue; }
    }
    public override Color MenuStripGradientEnd
    {
        get { return Color.DodgerBlue; }
    }
}

Изменение Renderer:

contextMenuStrip1.Renderer = new ToolStripProfessionalRenderer(new MenuColorTable());

Вот результат: Result of menu

...