Mega Code Archive

 
Categories / C# / GUI Windows Form
 

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());     } }