public void RemoveAt(int index)
{
TreeNode node = this._list[index];
if (this._updateParent)
{
TreeView owner = node.Owner;
if (owner != null)
{
if (owner.CheckedNodes.Count != 0)
{
UnCheckUnSelectRecursive(node);
}
else
{
for (TreeNode node2 = owner.SelectedNode; node2 != null; node2 = node2.Parent)
{
if (node2 == node)
{
owner.SetSelectedNode(null);
break;
}
}
}
}
node.SetParent(null);
}
this._list.RemoveAt(index);
this._version++;
this.Log.Add(new LogItem(LogItemType.Remove, index, this._isTrackingViewState));
}