1. 问题出现场景

当我们在使用C# 中的绘图功能时,如果需要动态改变控件UI的状态,比如绘制了一个圆,点击时填充圆颜色为绿色。那么我们必须使用Invalidate()函数进行刷新。运行程序之后会发现,控件闪烁的特别厉害,这完全达不到我们要的效果,特别是如果配合MouseMove()鼠标滑动事件使用时,这种效果会更明显。

2. 解决方案

目前用的比较稳定的解决方法是在类构造函数添加如下语句

//解决绘图时画面闪烁
SetStyle(ControlStyles.UserPaint, true);
SetStyle(ControlStyles.AllPaintingInWmPaint, true); // 禁止擦除背景.
SetStyle(ControlStyles.DoubleBuffer, true); // 双缓冲

其他解决方案,请参考:https://www.cnblogs.com/1175429393wljblog/p/5676741.html
我的方法也来自上述连接,特别感谢,特此声明

3. 其他

利用C#画图时,我们会发现画出来的图案锯齿比较严重,十分难看。以下是C#绘图抗锯齿设置。

g = e.Graphics;
g.SmoothingMode = SmoothingMode.HighQuality;  //图片柔顺模式选择
g.InterpolationMode = InterpolationMode.HighQualityBicubic;//高质量
g.CompositingQuality = CompositingQuality.HighQuality;//再加一点

C#中使用Invalidate()与MouseMove方法刷新控件时,控件闪烁问题解决方法相关推荐

  1. linux ftp 550 下载,linux ftp服务器上传文件夹时提示550错误问题解决方法

    linux ftp服务器上传文件夹时提示550错误问题解决方法 标签: linux ftp服务器 550 中文文件夹上传错误 问题 分类: 计算机 2010-11-06 22:47 前几天在实验室搭配 ...

  2. Eclipse build Android时不生成apk问题解决方法

    Eclipse build Android时不生成apk问题解决方法 参考文章: (1)Eclipse build Android时不生成apk问题解决方法 (2)https://www.cnblog ...

  3. springBoot上传文件时MultipartFile报空问题解决方法

    springBoot上传文件时MultipartFile报空问题解决方法 参考文章: (1)springBoot上传文件时MultipartFile报空问题解决方法 (2)https://www.cn ...

  4. JavaScript中的内置对象-8--4.date对象中-获取,设置日期时间的方法; 获取,设置年月日时分秒及星期的方法;...

    学习目标 1.掌握创建日期对象的方法 2.掌握date对象中获取日期时间的方法 3.掌握date对象中设置日期时间的方法 如何创建一个日期对象 语法:new Date(); 功能:创建一个日期时间对象 ...

  5. eve星战前夜登录提示服务器维护中,EVE星战前夜进不去怎么办 游戏进不去问题解决方法...

    EVE星战前夜游戏进不去怎么办,可能一部分玩家都遇到了EVE星战前夜游戏进不去的情况,那么游戏进不去的问题怎么解决呢,今天小编就带大家来看一看EVE星战前夜的相关游戏问题. 1.游戏进不去的原因可能是 ...

  6. ffmpeg录屏鼠标闪烁问题解决方法

    场景: 平台:win7 x64.显卡很差的电脑,使用ffmpeg录屏,鼠标闪烁的几乎看不到.录屏实现方法是使用ffmpeg,源采用的是gdigrab. 解决方法: 安装screen capture r ...

  7. 关于PhotoShop中保存CMYK格式TIFF文件在GDI+错误地显示颜色的问题解决方法

    使用Adobe PhotoShop创建并保存的CMYK Tag图像文件格式 (TIFF) 图像后,我们常会遇到以下情况: (1)如果再使用GDI+进行转换或显示时,经常会发现显示的颜色与原来的颜色不一 ...

  8. idea 中 大于等于,不等于、小于等于等等这些符号发生了改变问题解决方法

    1.问题描述 idea 中!=变为 ≠. >=变成了≥.<=变成了 ≤ 等问题的解决办法 展示效果如下截图 2.原因分析 因为设置了字体,重现方法:File--Settings--Edit ...

  9. 关于android studio中修改图标LOGO时出现的版本问题解决方法

    在Android 开发中我们经常遇到要用自己的LOGO,此时需要我们进行对原有的android的图标的修改,我们首先创建一个新的APP项目然后在File->new->Image Asset ...

最新文章

  1. JS小数位保留两位小数
  2. 计算机电源原如何确定正常,打开计算机电源后,显示屏不会点亮. 显示器没有坏....
  3. PLSQL 日期格式修改
  4. 漂亮、免费和响应式HTML5网站模板 - 转
  5. (77)FPGA面试题-Verilog实现二分频
  6. [分享]屏幕取色工具
  7. 为何说要多用组合少用继承?
  8. mysql的配置文件名称是_【MySQL学生手册】MySQL的配置文件
  9. 思岚科技A1,A2雷达驱动安装
  10. HTML创建简单动态时钟
  11. Groovy - Groovy ambiguous method overload
  12. Win10 ipv6无网络访问权限怎么解决
  13. IPS、VA、TN屏构造和优缺点对比
  14. 对于Mixin(混入)详情介绍
  15. 21 python - 字典
  16. 值得重视的网络安全问题
  17. android camera噪点,拍照时总是有很多噪点怎么办?方法很简单但你还真不知道
  18. 伪漫迷用数据假装看了一遍《复联4》
  19. vue 实现电子签名功能 支持生成图片
  20. n9006 android6,三星N9006怎么用 三星N9006使用方法【详解】

热门文章

  1. 交叉线、直通线、反转线的区别与应用
  2. WebGL+Three.js 入门与实战、搞定前端前沿技术
  3. 了解适用于Android应用程序的本机,WebView和混合模板
  4. 超简单的_ps抠图_在线抠图工具_智能抠图_速抠图
  5. Could not connect to SMTP host: smtp.163.com, port: 465, response: -1
  6. 傅里叶变换后信号的频谱分析中相位角的求法
  7. Caffe-Ristretto源码解读
  8. 每日一句:day04——From Zero To Hero
  9. 服务器网页能进去app进不去怎么办啊,ao3网页版进入 ao3进不去怎么办
  10. 百度富文本编辑器(ueditor)样式错误,回显出现#39、quot