110,536
社区成员
发帖
与我相关
我的任务
分享
protected override void OnPaint(PaintEventArgs e) //override重写
{
Rectangle rectangleBounds = new Rectangle(new Point(0, 0),
new Size(200, 200));
Rectangle ellipseBounds = new Rectangle(new Point(50, 200),
new Size(200, 150));
Pen bluePen = new Pen(Color.Blue, 3);
Pen redPen = new Pen(Color.Red, 2);
Brush solidAzureBrush = Brushes.Azure;
Brush solidYellowBrush = new SolidBrush(Color.Yellow);
Brush brickBrush = new HatchBrush(HatchStyle.DiagonalBrick,
Color.DarkGoldenrod, Color.Cyan);
Pen brickWidePen = new Pen(brickBrush, 10);
base.OnPaint(e);
Graphics dc = e.Graphics;
Point scrollOffset = this.AutoScrollPosition;
dc.TranslateTransform(scrollOffset.X, scrollOffset.Y);
if (e.ClipRectangle.Top + scrollOffset.X < 350 ||
e.ClipRectangle.Left + scrollOffset.Y < 250)
{
dc.DrawRectangle(bluePen, rectangleBounds);
dc.FillRectangle(solidYellowBrush, rectangleBounds);
dc.DrawEllipse(redPen, ellipseBounds);
dc.FillEllipse(solidAzureBrush, ellipseBounds);
dc.DrawLine(brickWidePen, rectangleBounds.Location,
ellipseBounds.Location + ellipseBounds.Size);
}
}