private void button1_Click(object sender, EventArgs e)
{
Bitmap bmp = new Bitmap(this.picturebox.Width, this.picturebox.Height); //在内存中创建一个bmp图,bmp的大小和窗口中picturebox的大小相同
Graphics g = Graphics.FromImage(bmp); //通过内存中的bmp图像创建一个在内存中的画布g,那么在画布上的任何操作就都是在内存中操作了
Brush b = new SolidBrush(Color.Green); //创建一个绿色的笔刷
Rectangle r = new Rectangle(10, 10, this.picturebox.Width, this.picturebox.Height); //创建一个长方形
g.FillRectangle(b,r); //在内存中的画布中画我们要画的图形
b.Dispose(); //释放画笔
g.Dispose(); //释放画布
this.picturebox.CreateGraphics().DrawImage(bmp, 0, 0); //最后就是我们手动双缓冲技术的 最后一步了,就是将内存中的bmp的图像一次性的展示到窗口中的picturebox中
}
来源:https://www.cnblogs.com/jmy9/p/10782266.html