在做自定义控件的时候,很多时候为了控件的美观去重新画控件,这里需要双缓存
有的时候微软给的
this.SetStyle(ControlStyles.DoubleBuffer, true);
this.SetStyle(ControlStyles.UserPaint, true);
不起作用,
我们可以自己定义画布,在画布上做操作,在将画布贴到控件上。这样就会避免白屏闪屏
/// <summary>
/// 内存画笔
/// </summary>
private Graphics _memoryGraphics;
/// <summary>
/// 内存画布
/// </summary>
private Bitmap _memoryBitmap;
/// <summary>
/// 背景
/// </summary>
private Bitmap _memoryBackground;
背景,我是用来,当控件的大小发生变化的时候,我先将当前内存画布保存早背景,控件大小改变完之后我在将背景画到内存画布上,在把画布画到控件上。这可避免闪屏
这个是一个播放器的进度条
关于 gdi+咱们可以相互讨论讨论
836

被折叠的 条评论
为什么被折叠?



