为了账号安全,请及时绑定邮箱和手机立即绑定

windows mobile 双缓冲失效

windows mobile 双缓冲失效

慕虎7371278 2018-09-12 05:06:49
最近开发一个基于windows mobile 6.5的小程序,需在要一个自定义控件上绘制线条,采用了双缓冲的方法 ,但是程序运行时,发现滚动屏幕时,这根线条还是在闪烁,请看下面的代码 protected override void OnPanit(PaintEventArgs e){       Bitmap bmp = new Bitmap(this.width,this.height);        Graphic g = Graphics.FromImage(bmp);        g.Clear(Color.White);        g.DrawLine(Pens.Black, 2, 2, 100, 100);        e.Graphic.DrawImage(bmp);        bmp.Dispose();}请大家指点一下这段代码有什么问题
查看完整描述

1 回答

?
米琪卡哇伊

TA贡献1998条经验 获得超6个赞

把 e.Graphic.DrawImage(bmp); 换成

this.CreateGraphics().DrawImage(bmp);

在你的控件初始化的时候添加下面的代码:

this.SetStyle(ControlStyles.UserPaint | ControlStyles.AllPaintingInWmPaint | ControlStyles.OptimizedDoubleBuffer, true);
this.UpdateStyles();


查看完整回答
反对 回复 2018-09-25
  • 1 回答
  • 0 关注
  • 302 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信