WinForm之GDI手动双缓冲技术

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中

}

上一篇:并发系列5-大白话聊聊Java并发面试问题之微服务注册中心的读写锁优化【石杉的架构笔记】


下一篇:popup menu案例,无说明只代码