我在C#winform应用程序中使用ToolStrip.
当我将鼠标移到按钮上时,它会突出显示(透明的蓝色),我想改变这种颜色
当我将鼠标移到按钮上时,它会突出显示(透明的蓝色),我想改变这种颜色
我尝试使用自定义渲染器类
toolStrip1.Renderer = new MyRenderer(); .... class MyRenderer : ToolStripProfessionalRenderer { }
但是,我不知道应该覆盖哪种方法来改变这种颜色.
解决方法
实际上,没有内置方式(或者至少我不知道它).
class MyRenderer : ToolStripProfessionalRenderer { protected override void OnRenderButtonBackground(ToolStripItemRenderEventArgs e) { if (!e.Item.Selected) { base.OnRenderButtonBackground(e); } else { Rectangle rectangle = new Rectangle(0,e.Item.Size.Width - 1,e.Item.Size.Height - 1); e.Graphics.FillRectangle(Brushes.Green,rectangle); e.Graphics.DrawRectangle(Pens.Olive,rectangle); } } }