/// <summary> /// Fires <see cref="CustomDrawBackGround" /> event. /// </summary> /// <param name="args">Object containing event data.</param> protected virtual void OnCustomDrawBackGround(DrawBackGroundEventArgs args) { if (CustomDrawBackGround != null) { CustomDrawBackGround(this, args); } }
/// <summary> /// Raises the <see cref="E:System.Windows.Forms.Control.Paint" /> event. /// </summary> /// <param name="e">A <see cref="T:System.Windows.Forms.PaintEventArgs" /> that contains the event data.</param> protected override void OnPaint(PaintEventArgs e) { CreateMemoryBitmap(); //RefreshControl(); Graphics.Clear(BackColor); //Graphics.Clear(Color.Transparent); var bArgs = new DrawBackGroundEventArgs(Graphics, ClientRectangle, CurrentAppearance.Bar, this); OnCustomDrawBackGround(bArgs); if (!bArgs.Handeled) { bArgs.DrawBackground(); bArgs.DrawBorder(); } if (!((items == null) || (items.Count == 0))) { foreach (BarItem barItem in items) { var itemRect = new Rectangle(Padding.Left, barItem.Top, buttonWidth - Padding.Left - Padding.Right, barItem.Height); itemRect.Offset(0, AutoScrollPosition.Y); var args = new DrawItemsEventArgs(Graphics, itemRect, barItem, GetButtonState(barItem), this); OnCustomDrawItems(args); if (args.Handeled) { continue; } args.DrawItemBackGround(); args.DrawItemBorder(); args.DrawIcon(); args.DrawItemText(); } } if (!Enabled) { Graphics.FillRectangle( new SolidBrush(Color.FromArgb((int)(DisableTransparency * 2.55), CurrentAppearance.Bar.DisabledMask)), 0, 0, Width - 1, Height - 1); } PaintUtility.DrawImage(e.Graphics, new Rectangle(0, 0, Width, Height), bmp, (int)(ImageTransparency * 2.55)); }