您應該使用ToolStripRenderer來自定義菜單外觀。將渲染器分配給菜單並調用invalidate:
menuStrip.Renderer = new ToolStripProfessionalRenderer(new DarkColorTable());
menuStrip.Invalidate();
如您所見,渲染器需要顏色表。您應該創建自定義的,並覆蓋你希望所有的顏色定製:
public class DarkColorTable : ProfessionalColorTable
{
public override Color MenuStripGradientBegin
{
get { return Color.FromArgb(128, Color.Black); }
}
public override Color MenuStripGradientEnd
{
get { return Color.FromArgb(128, Color.Black); }
}
public override Color ButtonSelectedHighlight
{
get { return Color.FromArgb(64, Color.Black); }
}
// etc
}
可能重複[如何更改菜單懸停顏色 - 的WinForms(http://stackoverflow.com/questions/9260303/how -to-change-menu-hover-color-winforms) –
我不想改變任何顏色。我正嘗試將背景圖像應用於 –
顏色名稱爲Color.Transparent。 –