protected override void OnRenderItemImage(ToolStripItemImageRenderEventArgs e)
{
// We only override the image drawing for context menus
if ((e.ToolStrip is ContextMenuStrip) ||
(e.ToolStrip is ToolStripDropDownMenu))
{
if (e.Image != null)
{
if (e.Item.Enabled)
e.Graphics.DrawImage(e.Image, e.ImageRectangle);
else
{
using (ImageAttributes attribs = new ImageAttributes())
{
attribs.SetColorMatrix(CommonHelper.MatrixDisabled);
// Draw using the disabled matrix to make it look disabled
e.Graphics.DrawImage(e.Image, e.ImageRectangle,
0, 0, e.Image.Width, e.Image.Height,
GraphicsUnit.Pixel, attribs);
}
}
}
}
else
{
base.OnRenderItemImage(e);
}
}