public partial class Line : Form
...{
public Line()
...{
InitializeComponent();
}
protected override void OnPaint(PaintEventArgs e)
...{
//不使用雙倍緩衝
//Graphics g = e.Graphics;
//g.FillRectangle(Brushes.White, ClIEntRectangle);
//Random r = new Random();
//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 pen = new Pen(c, 1))
& // {
// g.DrawLine(pen, new Point(0, 0), new Point(x, y));
// }
// }
//}
//使用雙倍緩衝
Graphics displayGrahics = e.Graphics;
Random r = new Random();
Image im = new Bitmap(ClientRectangle.Width, ClIEntRectangle.Height);
Graphics g = Graphics.FromImage(im);//建立一張新的GDI+繪圖介面
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 pen = new Pen(c, 1))
g.DrawLine(pen, new Point(0, 0), new Point(x, y));//線條先繪製到新建的那張不可見的介面上
}
}
}
displayGrahics.DrawImage(im, ClIEntRectangle);
im.Dispose();
}
}
運行效果圖: