protected override void InsertItem(int index, NodeControl item) { if (item == null) { throw new ArgumentNullException("item"); } if (item.Parent != _tree) { if (item.Parent != null) { item.Parent.NodeControls.Remove(item); } base.InsertItem(index, item); item.AssignParent(_tree); _tree.FullUpdate(); } }
protected override void RemoveItem(int index) { NodeControl value = this[index]; value.AssignParent(null); base.RemoveItem(index); _tree.FullUpdate(); }
public override void MouseDown(TreeNodeAdvMouseEventArgs args) { if (args.Button == MouseButtons.Left) { args.Handled = true; if (args.Node.CanExpand) { args.Node.IsExpanded = !args.Node.IsExpanded; // fixed by wj32 _tree.FullUpdate(); } } }