我想讓ToolStripPanel擁有與嵌入式ToolStrips相同的繪圖風格,以便它看起來像一個連續的欄。我有使用ToolStripProfessionalRenderer的ToolStrips,因此它們的樣式與Windows任務欄相同。C#ToolStripPanel繪圖問題
我已經得到了通過創建從ToolStripProfessionalRenderer衍生一個新的渲染器關閉:
class CustomRenderer : ToolStripProfessionalRenderer
{
protected override void OnRenderToolStripPanelBackground(ToolStripPanelRenderEventArgs e)
{
base.OnRenderToolStripPanelBackground(e);
LinearGradientBrush lgb = new LinearGradientBrush(e.ToolStripPanel.ClientRectangle, this.ColorTable.ToolStripGradientBegin, this.ColorTable.ToolStripGradientEnd, LinearGradientMode.Vertical);
e.Graphics.FillPath(lgb, e.ToolStripPanel.ClientRectangle);
}
}
這將創建漸變的外觀與正確的顏色,但它們不匹配完全正確。看起來好像漸變具有更多的顏色,所以擴展時間更長。
我已經佔據了ToolStrips的邊界(在此代碼中未顯示),但它們仍然不匹配得很對。
任何人都知道如何做到這一點?
感謝您的建議,我沒有想到這一點。不幸的是,這並沒有訣竅:(我開始認爲我應該放棄這個想法。 – Matt 2009-06-08 20:50:51