首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DoubleBuffered对SetStyle

DoubleBuffered对SetStyle
EN

Stack Overflow用户
提问于 2016-06-05 11:16:40
回答 1查看 770关注 0票数 1

我得到了相互矛盾的谷歌结果,我想知道这是否可以澄清,请?

我有:

代码语言:javascript
复制
typeof(TableLayoutPanel)
   .GetProperty("DoubleBuffered",
      System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance)
    .SetValue(tableLayoutPanel, true, null);

typeof(TableLayoutPanel)
    .GetMethod("SetStyle",
      System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic)
      .Invoke(tableLayoutPanel, new object[] { ControlStyles.UserPaint | ControlStyles.AllPaintingInWmPaint, true });

但是我被告知,如果我将DoubleBuffered设置为,我不需要手动设置这3种样式,因为系统内部会这样做。现在我两个人都打电话。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-05 11:27:05

下面是参考源DoubleBuffered属性的实现:

代码语言:javascript
复制
protected virtual bool DoubleBuffered {
    get {
        return GetStyle(ControlStyles.OptimizedDoubleBuffer);
    }
    set {
        if (value != DoubleBuffered) {
            if (value) {
                SetStyle(ControlStyles.OptimizedDoubleBuffer | ControlStyles.AllPaintingInWmPaint, value);
            }
            else {
                SetStyle(ControlStyles.OptimizedDoubleBuffer, value);
            }
        }
    }
}

(请注意,该属性是继承的,因此您必须返回Control类才能找到它。)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37641217

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档