2011-11-07 32 views

回答

7

這是由ToolStrip中的RenderMode設置的影響。只有當您將其更改爲System時,BackColor屬性纔會有效。其他渲染器使用主題顏色。你可能不會很喜歡System,但是你可以通過實現你自己的渲染器來讓你吃蛋糕。使其看起來類似於:

public partial class Form1 : Form { 
    public Form1() { 
     InitializeComponent(); 
     this.toolStrip1.Renderer = new MyRenderer(); 
    } 
    private class MyRenderer : ToolStripProfessionalRenderer { 
     protected override void OnRenderLabelBackground(ToolStripItemRenderEventArgs e) { 
      using (var brush = new SolidBrush(e.Item.BackColor)) { 
       e.Graphics.FillRectangle(brush, new Rectangle(Point.Empty, e.Item.Size)); 
      } 
     } 
    } 
} 
相關問題