ToolStripProfessionalRenderer.OnRenderItemBackground做了什么?

时间:2015-06-13 13:11:22

标签: c# winforms gdi renderer toolstrip

我正在编写一个自定义ToolStripProfessionalRenderer组件,目前正在处理所有OnRender ...覆盖。

特别是这个让我难过:OnRenderItemBackground

我无法看到它绘制任何东西,所以强迫它画出我已经完成的东西:

protected override void OnRenderItemBackground(ToolStripItemRenderEventArgs e)
{
    e.Graphics.FillRectangle(Brushes.Red, e.Item.ContentRectangle);
}

...但我没有看到任何红色矩形,所以不确定它在做什么!?

1 个答案:

答案 0 :(得分:1)

您可以使用设计器添加的所有库存ToolStripItem已经呈现了自己的背景。因此,使用OnRenderItemBackground()覆盖绘制的内容会立即重新绘制。所以ProfessionalToolStripRender根本不会覆盖该方法,因为不需要做任何事情。基类方法ToolStripRender.OnRenderItemBackground()也没有做任何事情。

注意OnRenderButtonBackground(),OnRenderDropDownButtonBackground(),OnRenderLabelBackground(),等等。