0
我想改變我的MenuStrip與ProfessionalColorTable的顏色,而是有了這個,我不能改變我的箭的顏色... 我尋找一種方式來改變我的MenuStrip風格與ColorTable(因爲我認爲有更多的選項),還有ToolStripProfessionalRenderer類的箭頭顏色。C#的MenuStrip使用ToolStripProfessionalRenderer和ProfessionalColorTable作爲渲染
這是到目前爲止我的代碼...
public class ArrowRenderer : ToolStripProfessionalRenderer
{
protected override void OnRenderArrow(ToolStripArrowRenderEventArgs e)
{
var tsMenuItem = e.Item as ToolStripMenuItem;
if (tsMenuItem != null)
e.ArrowColor = Color.White;
base.OnRenderArrow(e);
}
}
和
public class ColorTableMenu : ProfessionalColorTable
{
public ColorTableMenu()
{
base.UseSystemColors = false;
}
Color color = Color.FromArgb(31, 77, 120);
public override Color MenuItemSelected
{
get { return color; }
}
public override Color MenuItemBorder
{
get { return color; }
}
public override Color MenuItemSelectedGradientBegin
{
get { return color; }
}
...
}
所以我設定渲染器唯一方法是
menuStrip1.Renderer = new ArrowRenderer();
OR
menuStrip1.Renderer = new ToolStripProfessionalRenderer(new ColorTableMenu);
但不是兩個在同一時間:(
希望你能幫助我,謝謝!