Создание ToolStripSeparator по горизонтали на вертикальной панели инструментов в WinForms - PullRequest
1 голос
/ 21 октября 2009

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

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

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

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

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

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

1 Ответ

1 голос
/ 21 октября 2009

Вы можете создать свой собственный 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();
...