标题 使用timer和form的paint进行动态画图
using System;
using System.Drawing;
using System.Windows.Forms;
namespace WindowsFormsApplication2
{
public partial class Form1 : Form
{
int i = 1;
//用于存放绘图内容的中间载体image
Image _image = null;
//在image上绘图的画布,不可见
Graphics _Graphics = null;
//画笔
Pen mypen = null;
//窗体上绘图的画布,可见
Graphics graphics = null;
public Form1()
{
InitializeComponent();
_image = new Bitmap(this.Width, this.Height);
//_Graphics是_image的画布,将画图信息存在_image内
_Graphics = Graphics.FromImage(_image);
mypen = new Pen(Color.Red);
//graphics为窗体画布,用来显示绘图信息
graphics = this.CreateGraphics();
}
private void timer1_Tick(object sender, EventArgs e)
{
//间歇性动态画直线
_Graphics.DrawLine(mypen, new Point(0, i), new Point(i, i));
//清空画布
graphics.Clear(this.BackColor );
//在窗体画布上,显示绘制的图形
graphics.DrawImage(_image, new Point(0, 0));
i += 10;
}
private void Form1_Paint(object sender, PaintEventArgs e)
{
//清空画图
graphics.Clear(this.BackColor );
//将image的绘图信息展示在窗体的graphics上
graphics.DrawImage(_image, new Point(0, 0));
}
}
}