protected override void OnPaint(PaintEventArgs e) { Color tpBackColor = NuGenColorsStatic.TabBarBackColor; Color tpColor6 = NuGenColorsStatic.Color6; if (this.ngMediImage != null) { tpBackColor = ngMediImage.GetColorConfig().TabBarBackColor; tpColor6 = ngMediImage.GetColorConfig().Color6; } e.Graphics.TextRenderingHint = System.Drawing.Text.TextRenderingHint.ClearTypeGridFit; e.Graphics.SmoothingMode = SmoothingMode.HighQuality; e.Graphics.InterpolationMode = InterpolationMode.HighQualityBilinear; e.Graphics.CompositingQuality = CompositingQuality.HighQuality; e.Graphics.Clear(tpBackColor); e.Graphics.DrawLine(new Pen(Color.FromArgb(115, 115, 115)), 0, 0, this.Width, 0); Rectangle rect = new Rectangle(0, 0, this.Width, this.Height); if (this.Height > 26) { RibbonControl.FillRoundRectangle(e.Graphics, new SolidBrush(Color.FromArgb(32, Color.Black)), new Rectangle(5, this.Height - 20, this.Width - 10, 17), 3f); RibbonControl.FillRoundRectangle(e.Graphics, new SolidBrush(Color.FromArgb(32, Color.Black)), new Rectangle(5, this.Height - 20, this.Width - 10, 16), 3f); } int ti = 0; foreach (TabPage tab in this.TabPages) { Rectangle tabrect = this.GetTabRect(ti); tabrect.Height += 4; StringFormat sf = new StringFormat(); sf.Alignment = StringAlignment.Center; sf.LineAlignment = StringAlignment.Center; if (this.SelectedIndex >= 0 && tab.Name != "tbStart" && this.Height > 26 && tab == this.SelectedTab) { //Rectangle tabRectR = new Rectangle(tabrect.X + 3, tabrect.Y, tabrect.Width, tabrect.Height); Rectangle tabRectR = tabrect; RibbonControl.FillTopRoundRectangle(e.Graphics, new SolidBrush(Color.FromArgb(32, Color.Black)), new Rectangle(tabrect.X - 2, tabrect.Y, tabrect.Width + 4, tabrect.Height + 4), 3f); RibbonControl.FillTopRoundRectangle(e.Graphics, new SolidBrush(Color.FromArgb(16, Color.Black)), new Rectangle(tabrect.X - 1, tabrect.Y, tabrect.Width + 2, tabrect.Height + 4), 3f); RibbonControl.FillTopRoundRectangle(e.Graphics, new LinearGradientBrush(tabrect, Color.FromArgb(237, 238, 239), Color.FromArgb(206, 210, 217), LinearGradientMode.Vertical), tabRectR, 3f); RibbonControl.DrawTopRoundRectangle(e.Graphics, new Pen(tpColor6), tabRectR, 3f); tabrect.Offset(1, 1); tabrect.Width -= 2; tabrect.Height--; RibbonControl.DrawRoundRectangle(e.Graphics, new Pen(new LinearGradientBrush(tabrect, Color.FromArgb(249, 249, 249), Color.Transparent, LinearGradientMode.ForwardDiagonal)), tabRectR, 3f); Region region = new Region(); region.Exclude(new Rectangle(tabrect.X - 4, 0, tabrect.Width + 1, 2)); tab.Region = region; tabrect.Height -= 2; e.Graphics.DrawString(tab.Text, tab.Font, new SolidBrush(Color.Black), tabrect, sf); } else if (ti == this.hoverindex && (!this.closed || ti == 0)) { tabrect.Width--; if (ti == 0) { tabrect.X += 2; tabrect.Width -= 2; tabrect.Height -= 3; RibbonControl.RenderSelection(e.Graphics, tabrect, 3f, this.pressed); tabrect.X -= 2; tabrect.Width += 2; tabrect.Height += 3; } else { RibbonControl.RenderTopSelection(e.Graphics, tabrect, 3f, this.pressed); } tabrect.Width++; tabrect.Height -= 2; e.Graphics.DrawString(tab.Text, tab.Font, new SolidBrush(Color.Black), tabrect, sf); } else { tabrect.Height -= 2; e.Graphics.DrawString(tab.Text, tab.Font, new SolidBrush(Color.White), tabrect, sf); } ti++; } }
protected override void OnPaint(PaintEventArgs e) { this.BackColor = Color.Transparent; //this.RaisePaintEvent(null, e); //return; Color rgbC1 = NuGenColorsStatic.RibbonGroupBottomColor1; Color rgbC2 = NuGenColorsStatic.RibbonGroupBottomColor1; Color rgbC3 = NuGenColorsStatic.RibbonGroupBackColor; Color tpbC5 = NuGenColorsStatic.TabPageBorderColor; if (ngMediImage != null) { rgbC1 = ngMediImage.GetColorConfig().RibbonGroupBottomColor1; rgbC2 = ngMediImage.GetColorConfig().RibbonGroupBottomColor2; rgbC3 = ngMediImage.GetColorConfig().RibbonGroupBackColor; tpbC5 = ngMediImage.GetColorConfig().TabPageBorderColor; } //this.BackColor = rgbC3; e.Graphics.TextRenderingHint = System.Drawing.Text.TextRenderingHint.ClearTypeGridFit; e.Graphics.SmoothingMode = SmoothingMode.HighQuality; e.Graphics.InterpolationMode = InterpolationMode.HighQualityBilinear; e.Graphics.CompositingQuality = CompositingQuality.HighQuality; Rectangle rect1 = new Rectangle(1, 1, this.Width - 2, this.Height - 2); Rectangle rect2 = Rectangle.Empty; if (direction == FlowDirection.LeftToRight) { rect2 = new Rectangle(0, this.Height - 18, this.Width - 2, 16); } else if (direction == FlowDirection.TopDown) { rect2 = new Rectangle(0, 0, 18, this.Height - 2); } Rectangle rect3 = new Rectangle(this.Width - 18, this.Height - 18, 15, 15); RibbonControl.DrawRoundRectangle(e.Graphics, new Pen(tpbC5), rect1, 3f); GraphicsPath gp = new GraphicsPath(); gp.AddArc(rect2.X, rect2.Y - 4f, 6f, 6f, 180, 90); gp.AddArc(rect2.X + rect2.Width - 6f, rect2.Y - 5f, 6f, 6f, 270, 90); gp.AddArc(rect2.X + rect2.Width - 6f, rect2.Y + rect2.Height - 6f, 6f, 6f, 0, 90); gp.AddArc(rect2.X, rect2.Y + rect2.Height - 6f, 6f, 6f, 90, 90); gp.CloseFigure(); e.Graphics.SetClip(gp, CombineMode.Intersect); gp.Dispose(); e.Graphics.FillRectangle(new LinearGradientBrush(rect2, rgbC1, rgbC2, LinearGradientMode.Vertical), rect2); e.Graphics.Clip = new Region(); StringFormat sf = new StringFormat(); sf.Alignment = StringAlignment.Center; sf.LineAlignment = StringAlignment.Center; e.Graphics.DrawString(this.Text, this.Font, new SolidBrush(Color.White), rect2, sf); if (OnPopup != null) { if (this.hoverplus) { RibbonControl.RenderSelection(e.Graphics, rect3, 2f, this.pressed); e.Graphics.DrawString("+", this.Font, new SolidBrush(Color.Black), rect3, sf); } else { e.Graphics.DrawString("+", this.Font, new SolidBrush(Color.White), rect3, sf); } } rect1.Offset(-1, -1); RibbonControl.DrawRoundRectangle(e.Graphics, new Pen(Color.FromArgb(140, 141, 143)), rect1, 3f); }
protected override void OnPaint(PaintEventArgs e) { Rectangle rect = new Rectangle(0, 0, this.Width - 1, this.Height - 1); RibbonControl.RenderSelection(e.Graphics, rect, 2f, true); }