I have a .net app that I\'ve written in c#. On some forms I frequent update the display fields. In some cases every field on the form (textboxes, labels, picturebox, etc) ha
You can just replace original control with custom one which has protected DoubleBuffered property to true. E.g. for ListView it would be something like this:
internal class DoubleBufferedListView : ListView {
public DoubleBufferedListView()
: base() {
this.DoubleBuffered = true;
}
}
After that you just visit *.Designer.cs file and replace all mentions of native control with this one.
P.S. Instead of inheriting from control you can also set this property via reflection:
listView1.GetType().GetProperty("DoubleBuffered", BindingFlags.Instance | BindingFlags.NonPublic).SetValue(lsvReport, true, null);
It is not clean nor recommended but it requires no changes in *.Designer.cs files.