protected override void OnRenderToolStripBackground(ToolStripRenderEventArgs e) { Brush b; RectangleF rect = new RectangleF(0, 0, e.ToolStrip.Bounds.Right - e.ToolStrip.Bounds.Left, e.ToolStrip.Bounds.Bottom - e.ToolStrip.Bounds.Top); if (e.ToolStrip is MenuStrip) { b = new LinearGradientBrush(rect, MenuBackgroundColor1, MenuBackgroundColor2, 90, false); e.Graphics.FillRectangle(b, e.Graphics.ClipBounds); } ... }
protected override void OnRenderMenuItemBackground(ToolStripItemRenderEventArgs e) { if (!e.Item.IsOnDropDown) { if (e.Item.Pressed) { RenderMenuItemPressed(e); } else if (e.Item.Selected) { RenderMenuItemSelected(e); } } else { if (e.Item.Pressed) { RenderMenuItemOnDropDownPressed(e); } else if (e.Item.Selected) { RenderMenuItemOnDropDownSelected(e); } } } // Item slectionn dans un menu droulant private void RenderMenuItemOnDropDownSelected(ToolStripItemRenderEventArgs e) { Rectangle rect = new Rectangle(2, 0, e.Item.Width - 4, e.Item.Height - 1); e.Graphics.FillRectangle(new SolidBrush(MenuBackgroundColor1), rect); e.Graphics.DrawRectangle(new Pen(new SolidBrush(DropDownBorderColor)), rect); } // Item click dans un menu droulant private void RenderMenuItemOnDropDownPressed(ToolStripItemRenderEventArgs e) { Rectangle rect = new Rectangle(2, 0, e.Item.Width - 4, e.Item.Height - 1); e.Graphics.FillRectangle(new SolidBrush(DropDownBorderColor), rect); e.Graphics.DrawLines(new Pen(DropDownBorderColor), new Point[4] { new Point(rect.Left, rect.Bottom), new Point(rect.Left, rect.Top), new Point(rect.Right, rect.Top), new Point(rect.Right, rect.Bottom) }); } // Item slectionn dans la barre de menu private static void RenderMenuItemSelected(ToolStripItemRenderEventArgs e) { Rectangle rect = new Rectangle(0, 0, e.Item.Width - 1, e.Item.Height - 1); e.Graphics.FillRectangle(new SolidBrush(Color.FromArgb(0xb7, 0xbf, 0xb4)), rect); e.Graphics.DrawRectangle(new Pen(new SolidBrush(Color.FromArgb(0xa7, 0xac, 0xa5))), rect); } // Item click dans la barre de menu private void RenderMenuItemPressed(ToolStripItemRenderEventArgs e) { Rectangle rect = new Rectangle(0, 0, e.Item.Width - 1, e.Item.Height - 1); e.Graphics.FillRectangle(new SolidBrush(DropDownBackgroundColor), rect); e.Graphics.DrawLines(new Pen(DropDownBorderColor), new Point[4] { new Point(rect.Left, rect.Bottom), new Point(rect.Left, rect.Top), new Point(rect.Right, rect.Top), new Point(rect.Right, rect.Bottom) }); }
protected override void OnRenderButtonBackground(ToolStripItemRenderEventArgs e) { Bitmap bouton_g; Bitmap bouton_bg; Bitmap bouton_d; if (!e.Item.IsOnDropDown) { SelectBoutonImagesForBackground(e, out bouton_g, out bouton_bg, out bouton_d); int Y = (e.Item.Height - bouton_g.Height) / 2; e.Graphics.DrawImage(bouton_g, 0, Y, bouton_g.Width, bouton_g.Height); e.Graphics.DrawImage(bouton_d, e.Item.Width - bouton_d.Width, Y, bouton_d.Width, bouton_d.Height); Rectangle fillRect = new Rectangle(bouton_g.Width, Y, e.Item.Width - bouton_g.Width - bouton_d.Width - 1, bouton_bg.Height); for (int i = fillRect.Left; i <= fillRect.Right; i++) { e.Graphics.DrawImage(bouton_bg, i, fillRect.Top, 1, bouton_bg.Height); }; } } private static void SelectBoutonImagesForBackground(ToolStripItemRenderEventArgs e, out Bitmap bouton_g, out Bitmap bouton_bg, out Bitmap bouton_d) { if (e.Item.Pressed) { bouton_g = Properties.Resources.bouton_g_3; bouton_d = Properties.Resources.bouton_d_3; bouton_bg = Properties.Resources.bouton_bg_3; } else if (e.Item.Selected) { bouton_g = Properties.Resources.bouton_g_2; bouton_d = Properties.Resources.bouton_d_2; bouton_bg = Properties.Resources.bouton_bg_2; } else { bouton_g = Properties.Resources.bouton_g_1; bouton_d = Properties.Resources.bouton_d_1; bouton_bg = Properties.Resources.bouton_bg_1; } }
protected override void InitializeItem(ToolStripItem item) { if (!item.IsOnDropDown) { item.Padding = new Padding(5, 0, 5, 0); } }
private void Form1_Load(object sender, EventArgs e) { myRenderer = new MyRenderer(); menuStrip.Renderer = myRenderer; toolStripContainer.TopToolStripPanel.Renderer = myRenderer; toolStripBar.Renderer = myRenderer; }