protected override void OnPaint(PaintEventArgs pevent)
{
base.OnPaint(pevent);
pevent.Graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
// draw box
Pen borderPen = new Pen(Color.FromArgb(16, 0, 0, 0)); // TODO: needs to be text color
int ddAreaX = this.Size.Width - 15;
int ddAreaHeight = this.Size.Height - Padding.Top - Padding.Bottom - 4; // 3 px space on top and bottom
pevent.Graphics.DrawLine(borderPen, new Point(ddAreaX, 3), new Point(ddAreaX, ddAreaHeight));
// draw triangle
int triangleCenterX = ddAreaX + 7;
int triangleCenterY = this.Size.Height / 2;
Point[] triangle = new Point[4];
triangle[0] = new Point(triangleCenterX - 3, triangleCenterY - 2);
triangle[1] = new Point(triangleCenterX + 3, triangleCenterY - 2);
triangle[2] = new Point(triangleCenterX, triangleCenterY + 2);
triangle[3] = triangle[0];
Brush brush = new SolidBrush(Color.FromArgb(255, 0, 0, 0)); // TODO: needs to be text color
pevent.Graphics.FillPolygon(brush, triangle);
}