ToolStripPanel を埋め込まれた ToolStrips と同じ描画スタイルにして、1 つの連続したバーのように見せようとしています。Windows タスク バーと同じスタイルになるように、ToolStripProfessionalRenderer を使用して ToolStrips を作成しました。
ToolStripProfessionalRenderer から派生した新しい Renderer を作成することで、私はそれに近づきました。
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 の境界線 (このコードには表示されていません) を考慮しましたが、まだ完全に一致していません。
これを実現する方法を知っている人はいますか?