我得到了相互矛盾的谷歌结果,我想知道这是否可以澄清,请?
我有:
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种样式,因为系统内部会这样做。现在我两个人都打电话。
发布于 2016-06-05 11:27:05
下面是参考源中DoubleBuffered属性的实现:
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类才能找到它。)
https://stackoverflow.com/questions/37641217
复制相似问题