zoukankan      html  css  js  c++  java
  • Winform 自定义控件闪烁问题

    winform 自定义控件闪烁问题极为让人头疼,在网上搜索了很多方法,最后总算是勉强解决,但老实说效果还不是很好。

    首先第一种方法:

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

     网上见到的最多的就是这个方法,但基本上没有看到什么效果。

    第二种方法:

    在自定义控件中添加的:

            protected override CreateParams CreateParams
            {
                get
                {
                    var parms = base.CreateParams;
    
                    parms.Style &= ~0x02000000;  // Turn off WS_CLIPCHILDREN
    
                    return parms;
                }
            }
    

     在调用自定义控件的窗体内添加的:

            protected override CreateParams CreateParams
            {
                get
                {
    
                    CreateParams cp = base.CreateParams;
    
                    cp.ExStyle |= 0x02000000;  // Turn on WS_EX_COMPOSITED
    
                    return cp;
    
                }
            } 
    

     第二种方法解决了我的问题。不过看起来还是很死板,只能说是勉强解决了。而且因为在调用自定义控件的窗体内添加的方法的关系,窗体上其他控件的重绘多少有点儿问题。后来我把这个方法去掉了,发现值需要在自定义控件内添加方法貌似也没什么问题。

    希望以后能有更好的方法解决自定义控件不停闪烁的问题。

  • 相关阅读:
    11.26
    数组
    JavaScript
    2018.11.26
    input标签
    HPH 函数
    jQuery
    19/1/3数组
    2018/12/26//循环体
    12/25
  • 原文地址:https://www.cnblogs.com/rogation/p/3104024.html
Copyright © 2011-2022 走看看