TransWikia.com

Ни к чему не принадлежащая полоска ContextMenu c#

Stack Overflow на русском Asked by Cordis on December 22, 2021

Я пытаюсь кастомизировать ContextMenuStrip.

В итоге смог самостоятельно зарендерить toolStripSeparator, поменять цвет при наведении и ещё по мелочам.
Вот то, что вышло

мой ContextMenuStrip

Осталась эта белая полоска слева. Она является частью ImageMargin, т.е. частью места под картинку, и как убрать её – не понятно(а если убрать imageMargin, то полоска остаётся)

Дальше идут нерабочие способы, можно и не читать, если не хочется.

Главный вопрос – что это за полоска и как её убрать?

(даже все способы вместе не сработали :< )

Пытался поменять toolStripMenuItem.Margin, BackColor, contextMenu.BackColor, но не помогло.

Попытался самостоятельно поменять цвет через ToolStripProfessionalRenderer

contextMenu.Renderer = new MyMenuRenderer();
public class MyMenuRenderer : ToolStripProfessionalRenderer
{
    public MyMenuRenderer() : base(new BrowserColors()) { }
}
public class BrowserColors : ProfessionalColorTable
{
    public override Color ImageMarginGradientBegin { get { return Color.FromArgb(255, 0, 0); } }
    // ImageMarginGradientMiddle и ImageMarginGradientEnd, как оказалось, ни на что не влияют
}

Но при наведении на элемент это полоска оставалась видна. После этого я попытался сделать так

contextMenu.ShowImageMargin = false;
contextMenu.ShowCheckMargin = false;

Полоска покрасилась в цвет contextMenu, но не исчезла.
(И как это так получается, что если убираешь imageMargin, остаётся imageMargin?)

Даже так попытался

public class MyContextMenuStrip : ContextMenuStrip
{
    protected override Padding DefaultPadding { get { return new Padding(0, 0, 0, 1); } }
}

Убрались все отступы. Кроме полоски.

введите сюда описание изображения

Сделать это возможно. Например в дискорде

contextmenu discord

Логичный вопрос – что это за полоска и как её убрать?

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP