Korero – Rev 1
?pathlinks?
using System;
using System.Runtime.InteropServices;
using System.Windows.Forms;
namespace Korero.Utilities.Controls
{
/// <summary>
/// A double buffered tree view.
/// </summary>
/// <remarks>https://stackoverflow.com/questions/10362988/treeview-flickering/10364283#10364283</remarks>
public class BufferedTreeView : TreeView
{
#region Static Fields and Constants
// Pinvoke:
private const int TVM_SETEXTENDEDSTYLE = 0x1100 + 44;
private const int TVM_GETEXTENDEDSTYLE = 0x1100 + 45;
private const int TVS_EX_DOUBLEBUFFER = 0x0004;
#endregion
#region Private Overrides
protected override void OnHandleCreated(EventArgs e)
{
SendMessage(Handle, TVM_SETEXTENDEDSTYLE, (IntPtr) TVS_EX_DOUBLEBUFFER, (IntPtr) TVS_EX_DOUBLEBUFFER);
base.OnHandleCreated(e);
}
#endregion
#region Private Methods
[DllImport("user32.dll")]
private static extern IntPtr SendMessage(IntPtr hWnd, int msg, IntPtr wp, IntPtr lp);
#endregion
}
}
Generated by GNU Enscript 1.6.5.90.