/// <include file='doc\ToolStripRenderer.uex' path='docs/doc[@for="ToolStripRenderer.DrawSplitButton"]/*' /> /// <devdoc> /// Draw the background color /// </devdoc> public void DrawSplitButton(ToolStripItemRenderEventArgs e) { OnRenderSplitButtonBackground(e); ToolStripItemRenderEventHandler eh = Events[EventRenderSplitButtonBackground] as ToolStripItemRenderEventHandler; if (eh != null) { eh(this, e); } }
/// <include file='doc\ToolStripRenderer.uex' path='docs/doc[@for="ToolStripRenderer.DrawMenuItem"]/*' /> /// <devdoc> /// Draw the item's background. /// </devdoc> public void DrawMenuItemBackground(ToolStripItemRenderEventArgs e) { OnRenderMenuItemBackground(e); ToolStripItemRenderEventHandler eh = Events[EventRenderMenuItemBackground] as ToolStripItemRenderEventHandler; if (eh != null) { eh(this, e); } }
protected virtual void OnRenderItemBackground(ToolStripItemRenderEventArgs e) { if (e.Item.BackgroundImage != null) { Rectangle item_bounds = new Rectangle(0, 0, e.Item.Width, e.Item.Height); e.Graphics.FillRectangle(ThemeEngine.Current.ResPool.GetSolidBrush(e.Item.BackColor), item_bounds); DrawBackground(e.Graphics, item_bounds, e.Item.BackgroundImage, e.Item.BackgroundImageLayout); } ToolStripItemRenderEventHandler eh = (ToolStripItemRenderEventHandler)Events [RenderItemBackgroundEvent]; if (eh != null) { eh(this, e); } }
public void ToolStripRenderer_DrawButtonBackground_Invoke_CallsRenderButtonBackground(ToolStripItemRenderEventArgs eventArgs) { var renderer = new SubToolStripRenderer(); int callCount = 0; ToolStripItemRenderEventHandler handler = (sender, e) => { Assert.Same(renderer, sender); Assert.Same(eventArgs, e); callCount++; }; // Call with handler. renderer.RenderButtonBackground += handler; renderer.DrawButtonBackground(eventArgs); Assert.Equal(1, callCount); // Remove handler. renderer.RenderButtonBackground -= handler; renderer.DrawButtonBackground(eventArgs); Assert.Equal(1, callCount); }
protected virtual void OnRenderItemBackground(ToolStripItemRenderEventArgs e) { if (e.Item.BackColor != Control.DefaultBackColor) { // Only paint the BackColor if it's not the default one, // to avoid painting a solid background color over the parent ToolStrip gradient. Rectangle item_bounds = new Rectangle(0, 0, e.Item.Width, e.Item.Height); e.Graphics.FillRectangle(ThemeEngine.Current.ResPool.GetSolidBrush(e.Item.BackColor), item_bounds); } if (e.Item.BackgroundImage != null) { Rectangle item_bounds = new Rectangle(0, 0, e.Item.Width, e.Item.Height); DrawBackground(e.Graphics, item_bounds, e.Item.BackgroundImage, e.Item.BackgroundImageLayout); } ToolStripItemRenderEventHandler eh = (ToolStripItemRenderEventHandler)Events [RenderItemBackgroundEvent]; if (eh != null) { eh(this, e); } }