我正在编写一个自定义ToolStripProfessionalRenderer组件,目前正在处理所有OnRender ...覆盖。
特别是这个让我难过:OnRenderItemBackground
我无法看到它绘制任何东西,所以强迫它画出我已经完成的东西:
protected override void OnRenderItemBackground(ToolStripItemRenderEventArgs e)
{
e.Graphics.FillRectangle(Brushes.Red, e.Item.ContentRectangle);
}
...但我没有看到任何红色矩形,所以不确定它在做什么!?
答案 0 :(得分:1)
您可以使用设计器添加的所有库存ToolStripItem已经呈现了自己的背景。因此,使用OnRenderItemBackground()覆盖绘制的内容会立即重新绘制。所以ProfessionalToolStripRender根本不会覆盖该方法,因为不需要做任何事情。基类方法ToolStripRender.OnRenderItemBackground()也没有做任何事情。
注意OnRenderButtonBackground(),OnRenderDropDownButtonBackground(),OnRenderLabelBackground(),等等。