Создание ToolStripSeparator в горизонтальном положении на вертикальной панели инструментов в WinForms

Имеют Google и не могут узнать, как заставить ToolStripSeparator "рисовать" горизонтальную линию на панели инструментов, которая выровнена по вертикали.

Разделитель нарисован вертикально, что делает его ужасным.

Например.
* - вещь

*
*
| <- разделитель
*
*

когда это должно быть

*
*
- <- разделитель
*
*

1 ответ

Вы можете создать свой собственный ToolStripRenderer и переопределить OnRenderSeparator, чтобы нарисовать линию самостоятельно.

protected override void OnRenderSeparator(ToolStripSeparatorRenderEventArgs e)
{
    using (var pen = new Pen(borderColor))
    {
        e.Graphics.DrawLine(pen, 5, e.Item.Size.Height / 2, e.Item.Size.Width - 5, e.Item.Size.Height / 2);
    }
}

Затем вы устанавливаете Renderer свойство вашей панели инструментов для рендера, который вы только что сделали.

toolStrip.Renderer = new MyToolStripRenderer();
Другие вопросы по тегам