日期:2014-05-18 浏览次数:21220 次
private void groupBox1_Paint(object sender, PaintEventArgs e) { e.Graphics.FillRectangle(Brushes.Transparent, e.ClipRectangle); Rectangle Rtg_LT = new Rectangle(); Rectangle Rtg_RT = new Rectangle(); Rectangle Rtg_LB = new Rectangle(); Rectangle Rtg_RB = new Rectangle(); Rtg_LT.X = 0; Rtg_LT.Y = 7; Rtg_LT.Width = 10; Rtg_LT.Height = 10; Rtg_RT.X = e.ClipRectangle.Width - 11; Rtg_RT.Y = 7; Rtg_RT.Width = 10; Rtg_RT.Height = 10; Rtg_LB.X = 0; Rtg_LB.Y = e.ClipRectangle.Height - 11; Rtg_LB.Width = 10; Rtg_LB.Height = 10; Rtg_RB.X = e.ClipRectangle.Width - 11; Rtg_RB.Y = e.ClipRectangle.Height - 11; Rtg_RB.Width = 10; Rtg_RB.Height = 10; Color color = BorderColor; Pen Pen_AL = new Pen(color, 1); Pen_AL.Color = color; e.Graphics.DrawArc(Pen_AL, Rtg_LT, 180, 90); e.Graphics.DrawArc(Pen_AL, Rtg_RT, 270, 90); e.Graphics.DrawArc(Pen_AL, Rtg_LB, 90, 90); e.Graphics.DrawArc(Pen_AL, Rtg_RB, 0, 90); e.Graphics.DrawLine(Pen_AL, 5, 7, 6, 7); e.Graphics.DrawLine(Pen_AL, e.Graphics.MeasureString(groupBox1.Text, groupBox1.Font).Width + 3, 7, e.ClipRectangle.Width - 7, 7); e.Graphics.DrawLine(Pen_AL, 0, 13, 0, e.ClipRectangle.Height - 7); e.Graphics.DrawLine(Pen_AL, 6, e.ClipRectangle.Height - 1, e.ClipRectangle.Width - 7, e.ClipRectangle.Height - 1); e.Graphics.DrawLine(Pen_AL, e.ClipRectangle.Width - 1, e.ClipRectangle.Height - 7, e.ClipRectangle.Width - 1, 13); }
class MyGroupBox:GroupBox { protected override void OnPaint(PaintEventArgs e) { using (Pen pen = new Pen(Color.SteelBlue)) using (GraphicsPath path = new GraphicsPath()) { Rectangle arc = new Rectangle(0, 7, 10, 10); path.AddArc(arc, 180, 90); arc.X = this.Width - arc.Width - 1; path.AddArc(arc, 270, 90); arc.Y = this.Height - arc.Height - 1; path.AddArc(arc, 0, 90); arc.X = 0; path.AddArc(arc, 90, 90); path.CloseFigure(); e.Graphics.DrawPath(pen, path); } TextRenderer.DrawText(e.Graphics, this.Text, this.Font, new Point(7, 1), this.ForeColor, this.BackColor); } }