protected virtual void OnRenderItemImage(ToolStripItemImageRenderEventArgs e) { bool need_dispose = false; Image i = e.Image; if (e.Item.RightToLeft == RightToLeft.Yes && e.Item.RightToLeftAutoMirrorImage == true) { i = CreateMirrorImage(i); need_dispose = true; } if (e.Item.ImageTransparentColor != Color.Empty) { ImageAttributes ia = new ImageAttributes(); ia.SetColorKey(e.Item.ImageTransparentColor, e.Item.ImageTransparentColor); e.Graphics.DrawImage(i, e.ImageRectangle, 0, 0, i.Width, i.Height, GraphicsUnit.Pixel, ia); ia.Dispose(); } else { e.Graphics.DrawImage(i, e.ImageRectangle); } if (need_dispose) { i.Dispose(); } ToolStripItemImageRenderEventHandler eh = (ToolStripItemImageRenderEventHandler)Events [RenderItemImageEvent]; if (eh != null) { eh(this, e); } }
protected virtual void OnRenderItemCheck(ToolStripItemImageRenderEventArgs e) { ToolStripItemImageRenderEventHandler eh = (ToolStripItemImageRenderEventHandler)Events [RenderItemCheckEvent]; if (eh != null) { eh(this, e); } }
/// <summary> /// Extends BeginInvoke so that when a state object is not needed, null does not need to be passed. /// <example> /// toolstripitemimagerendereventhandler.BeginInvoke(sender, e, callback); /// </example> /// </summary> public static IAsyncResult BeginInvoke(this ToolStripItemImageRenderEventHandler toolstripitemimagerendereventhandler, Object sender, ToolStripItemImageRenderEventArgs e, AsyncCallback callback) { if (toolstripitemimagerendereventhandler == null) { throw new ArgumentNullException("toolstripitemimagerendereventhandler"); } return(toolstripitemimagerendereventhandler.BeginInvoke(sender, e, callback, null)); }
public void DrawItemImage(ToolStripItemImageRenderEventArgs e) { this.OnRenderItemImage(e); ToolStripItemImageRenderEventHandler handler = this.Events[EventRenderItemImage] as ToolStripItemImageRenderEventHandler; if (handler != null) { handler(this, e); } }
/// <include file='doc\WinBarRenderer.uex' path='docs/doc[@for="ToolStripRenderer.DrawItemCheck"]/*' /> /// <devdoc> /// Draw image /// </devdoc> public void DrawItemCheck(ToolStripItemImageRenderEventArgs e) { OnRenderItemCheck(e); ToolStripItemImageRenderEventHandler eh = Events[EventRenderItemCheck] as ToolStripItemImageRenderEventHandler; if (eh != null) { eh(this, e); } }
public void ToolStripRenderer_DrawItemImage_Invoke_CallsRenderItemImage(Graphics graphics, ToolStripItem item, Image image, Rectangle imageRectangle) { var eventArgs = new ToolStripItemImageRenderEventArgs(graphics, item, image, imageRectangle); var renderer = new SubToolStripRenderer(); int callCount = 0; ToolStripItemImageRenderEventHandler handler = (sender, e) => { Assert.Same(renderer, sender); Assert.Same(eventArgs, e); callCount++; }; // Call with handler. renderer.RenderItemImage += handler; renderer.DrawItemImage(eventArgs); Assert.Equal(1, callCount); // Remove handler. renderer.RenderItemImage -= handler; renderer.DrawItemImage(eventArgs); Assert.Equal(1, callCount); }