public SkinTreeView() { t.SynchronizingObject = this; t.Interval = 200; t.Elapsed += t_Elapsed; dragTimer.SynchronizingObject = this; dragTimer.Interval = 1000; dragTimer.Elapsed += dragTimer_Elapsed; SetStyle( ControlStyles.OptimizedDoubleBuffer | ControlStyles.AllPaintingInWmPaint | ControlStyles.UserPaint | ControlStyles.UserMouse, true); DoubleBuffered = true; skinHeadImage = new Bitmap(32, 32); DrawMode = TreeViewDrawMode.OwnerDrawAll; ItemHeight = 23; FullRowSelect = true; HotTracking = true; TreeViewNodeSorter = new SkinNodeSorter(); AllowDrop = true; long style = GetWindowLong(Handle, GWL_STYLE); style |= 0x8000; SetWindowLong(Handle, GWL_STYLE, style); }