No Double Buffering Example : Graphics « 2D « C# / CSharp Tutorial






using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Windows.Forms;

  class Form1 : Form
  {
    public Form1()
    {
    }

    protected override void OnPaint(PaintEventArgs e)
    {
      Graphics g = e.Graphics;
      Random r = new Random();

      g.FillRectangle(Brushes.White, ClientRectangle);

      for (int x = 0; x < ClientRectangle.Width; x++)
      {
        for (int y = 0; y < ClientRectangle.Height; y += 10)
        {
          Color c = Color.FromArgb(r.Next(255), r.Next(255),r.Next(255));
          using (Pen p = new Pen(c, 1))
          {
            g.DrawLine(p, new Point(0, 0), new Point(x, y));
            g.DrawLine(p, new Point(10, 40), new Point(x, y));
            g.DrawLine(p, new Point(20, 30), new Point(x, y));
            g.DrawLine(p, new Point(30, 20), new Point(x, y));
            g.DrawLine(p, new Point(40, 10), new Point(x, y));
            g.DrawLine(p, new Point(50, 10), new Point(x, y));                                                            
          }
        }
      }
    }

    [STAThread]
    static void Main()
    {
      Application.EnableVisualStyles();
      Application.Run(new Form1());
    }
  }








27.1.Graphics
27.1.1.Create Graphics from Form object
27.1.2.Draw String
27.1.3.TranslateTransform a Graphics
27.1.4.Graphics.DrawImage
27.1.5.Graphics.DrawLine
27.1.6.Graphics.DrawLines
27.1.7.Set SmoothingMode
27.1.8.Draw along with the Tab
27.1.9.Graphics.DrawIcon
27.1.10.Double Buffering Example
27.1.11.No Double Buffering Example