2009-10-21 12 views
1

的豎直工具欄中使ToolStripSeparator水平放置在谷歌地圖上,並且找不到如何使ToolStripSeparator在垂直對齊的工具欄中「繪製」水平線。在WinForms

分隔符是垂直繪製,這使得它很糟糕。

例如,
* - 項目

*
*
| < - 分離
*
*

當它應該是

*
*
- < - 分離
*
*

+0

我給這個「Works-On-My-Machine」認可的印章。 :)我現在正在垂直工具條中查看ToolStripSeparator。分隔符是水平塗刷 - 無論是在設計中還是在運行時。 – Yoopergeek 2009-10-21 14:21:33

+0

我猜想屏幕截圖是按順序的。 – 2009-10-21 14:25:31

+0

是的,我想知道,但我提供了一個如何自定義繪製它的答案。 ;) – 2009-10-21 14:25:32

回答

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();