C#实现Menu和ContextMenu自定义风格及contextMenu自定义

2019-12-26 13:08:31王振洲
  • }  } 
  • #endregion  /// <summary> 
  • /// 菜单项被选中时的颜色  /// </summary> 
  • public override Color MenuItemSelected  { 
  • get  { 
  • return Color.FromArgb(37, 37, 37);  } 
  • }  #region 下拉菜单面板背景设置(不包括下拉菜单项) 
  • //下拉菜单面板背景一共分为2个部分,左边为图像区域,右侧为文本区域,需要分别设置  //ToolStripDropDownBackground设置文本部分的背景色 
  • public override Color ToolStripDropDownBackground  { 
  • get  { 
  • return Color.Black;  } 
  • }  //以ImageMarginGradient开头的3个设置的是图像部分的背景色,begin->end是从左到右的顺序 
  • public override Color ImageMarginGradientBegin  { 
  • get  { 
  • return Color.Black;  } 
  • }  public override Color ImageMarginGradientMiddle 
  • {  get 
  • {  return Color.Black; 
  • }  } 
  • public override Color ImageMarginGradientEnd  { 
  • get  { 
  • return Color.Black;  } 
  • }  #endregion 
  • 然后对需要实现自定义风格的菜单(如:contextMenuStrip1)应用如下代码:

     

     
    1. contextMenuStrip1.RenderMode = ToolStripRenderMode.Professional;  contextMenuStrip1.Renderer = new ToolStripProfessionalRenderer(new CustomToolStripColorTable());