1. 在WinForm上放置一个TabControl,并设置其Dock属性为Fill。

2. 在其中的一个Tab页上放置一个DateTimePicker控件

你会发现,当你在XP系统下,Resize Form时,DateTimePicker会闪烁。研究了很长时间,没有结果。最终放弃C#和Spy++,使用Google研究了一下 :-) 得出结论如下:

需要为DateTimePicker控件添加WS_EX_COMPOSITED Window Style.如下:

    public class MyDateTimePicker : DateTimePicker
    {
        protected override CreateParams CreateParams
        {
            get
            {
                CreateParams ps = base.CreateParams;
                ps.ExStyle |= NativeMethods.WS_EX_COMPOSITED /*0x2000000*/;
                return ps;
            }
        }
    }

这个Style仅仅被Window XP以上系统支持。功能是将Control的所有画法使用DoubleBuffer优化。(ControlStyles.OptimizedDoubleBuffer似乎仅对WM_PAINT优化,而DateTimePicker的闪烁是由WM_ERASEBKGND引起的)

做个记录,以便后人查询。

更新:(2008/01/03)
    注意,这个Style仅仅被Window XP以上操作系统接受,如果在Window 2000下运行添加了这个Style的DateTimePicker将会产生异常。

更新:(2008/02/03)
    注意,这个Style会导致DateTimePicker的DropDownButton没有按下效果。因此,不建议在项目中使用这个方案。关于更详细的解决方案,稍后我重新写一篇Blog。

转载于:https://www.cnblogs.com/Cajon/archive/2007/12/29/Avoid_DateTimePicker_Flicker.html

避免DateTimePicker闪烁的解决方案相关推荐

  1. eclipse光标变成黑色闪烁方块解决方案

    写代码途中,好好的插入光标突然变成了黑色闪烁方块. 发现是误触了键盘中的Insert按键. 解决方案:只需按一下Insert按键就可以切换成插入光标状态. 经过实验发现,Insert状态下的输入会覆盖 ...

  2. 虚拟机Ubuntu内鼠标闪烁终极解决方案

    话说这个问题很早就遇到了,最近才解决,不免唏嘘. 由于造成鼠标闪烁的原因有很多,鼠标闪烁的特点也有很多,因此网上也充斥着很多解决方案,这里一并做一下梳理,以节约各位看众时间. 1.通用解决方法 这个方 ...

  3. 计算机术语 抖动,解决方案:如果计算机屏幕闪烁和抖动,该怎么办

    如果计算机屏幕闪烁和抖动,该怎么办 对于经常使用计算机的朋友来说,监视器屏幕是每个人始终都必须面对的东西.电脑屏幕的闪烁或晃动会使您的眼睛快速疲劳并严重影响视力,因此建议您遇到电脑屏幕的闪烁或电脑屏幕 ...

  4. VMware 虚拟机鼠标闪烁

    虚拟机中鼠标移动的过程中会消失.闪烁,停止之后虚拟机的鼠标又重新显示. 我的问题是看之前有人说有俩显示器,一个是未知显示器 unknown display,关闭这个就可以了,但是我的只有一个unkno ...

  5. Qt——用在ARM板上的Mplayer(1.3.0,1.0rc4)安装编译步骤!还有,Mplayer背景抖动闪烁问题解答,终于来了!

    注意:若转载,请贴上链接"https://blog.csdn.net/qq_41042595/article/details/112308184",如若发现抄袭或未标明来源现象,都 ...

  6. 微信小程序 # 图片预加载方案(防闪烁) 以及 首次引导

    问题背景 第一次进入小程序的时候,需要打开引导操作 点击进入下一个引导操作,一共有一系列引导操作. 引导操作这里是用图片实现的,然后点一下切换一张图片. 问题具体描述 在如上图所示的引导提示操作中,用 ...

  7. 电脑屏幕上计算机闪烁有框,计算机屏幕闪烁的常见原因和解决方法

    经常使用计算机的网民有时会遇到计算机屏幕持续闪烁和抖动的情况,严重影响计算机的使用,那么如何解决这种烦人的情况呢?让我们看一下这篇文章如何为大家解答问题.通常,新的计算机监视器很少会在计算机屏幕上出现 ...

  8. WinForm Flicker闪屏解决方案

    开发WinForm 程序时经常会遇到闪屏的问题,这会给用户造成很差的使用体验,所以必须妥善解决好这个问题. 首先,我们先要找出闪屏的原因,就我目前遇到的问题而言,其原因真是五花八门. 主要的原因有:使 ...

  9. 使用InvalidateRect()函数刷新窗口,屏幕闪烁

    使用InvalidateRect()函数刷新窗口,屏幕闪烁 问题描述: 程序中使用 InvalidateRect() 函数来产生 WM_PAINT 消息,从而实现刷新的效果.但是每次刷新都会在夹杂着白 ...

最新文章

  1. win7无法打开计算机共享文件,win7不能共享文件的解决方法
  2. python语言入门编程猫-编程猫推出海龟编程器,打造Python教育产品矩阵
  3. Java学习福利,入门到精通学习路线分享
  4. Jenkins环境搭建总结
  5. 使用执行程序和ThreadPoolExecutor的Java线程池示例
  6. jsp之servlet模板问题
  7. zktime 协议_Zktime8.0安装使用说明及常见故障分析
  8. 程序员专用的简历神器,让你制作简历更简单,方便,专业
  9. Vuepress 如何引入百度统计和谷歌统计
  10. max pooling 和 average pooling
  11. 家里蹲太孤单?来用python画一只单身狗吧
  12. c# http put请求 通用http请求 post get put
  13. Unity3D-制作火焰效果
  14. Octotree 神器 tips
  15. 输入一个整数能否被7整除
  16. Python数据处理Tips数据连续变量常用10种处理方法
  17. 一文讲透图像分割经典网络:FCN、Unet、DeepLabV3+、Vnet、Unet++
  18. 凡事过往,皆为序章2021-01-11
  19. 华为mate10科学计算机,华为mate10最具特色的五大功能,可惜现在知道的人还不多...
  20. Lebesgue可测集

热门文章

  1. ASP.NET 3.5 新特性开发向导实践(附项目源码下载)
  2. 警惕!Cisco产品的假冒和水货
  3. 好久没写了,重装了系统重新配置的Live Writer,看看效果:
  4. linux中配置DHCP基本操作
  5. 【转】你所不知道的HTML head/ 头标签
  6. MYSQL GROUP_CONCAT 用法
  7. Silverlight学习笔记清单
  8. linux常用性能分析命令详解#TOP
  9. vue中使用elmentUI的Upload组件提交文件和后台接收
  10. hibernate之关联关系(一对多)