Scroll Shapes
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
public class Form1 : Form {
private Point rectangleTopLeft = new Point(0, 0);
private Size rectangleSize = new Size(200, 200);
private Point ellipseTopLeft = new Point(50, 200);
private Size ellipseSize = new Size(200, 150);
private Pen bluePen = new Pen(Color.Blue, 3);
private Pen redPen = new Pen(Color.Red, 2);
protected override void OnPaint(PaintEventArgs e) {
base.OnPaint(e);
Graphics dc = e.Graphics;
Size scrollOffset = new Size(this.AutoScrollPosition);
if (e.ClipRectangle.Top + scrollOffset.Width < 350 ||
e.ClipRectangle.Left + scrollOffset.Height < 250) {
Rectangle rectangleArea = new Rectangle
(rectangleTopLeft + scrollOffset, rectangleSize);
Rectangle ellipseArea = new Rectangle
(ellipseTopLeft + scrollOffset, ellipseSize);
dc.DrawRectangle(bluePen, rectangleArea);
dc.DrawEllipse(redPen, ellipseArea);
}
}
public Form1() {
this.BackColor = Color.White;
this.Size = new System.Drawing.Size(300, 300);
this.AutoScrollMinSize = new Size(250, 350);
}
public static void Main() {
Application.Run(new Form1());
}
}
Related examples in the same category