Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6. Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты. Читайте требования к создаваемым темам.
Есть тривиальное решение. запоминаешь параметры нода, удаляешь его и создаешь заново, указав ему в качестве placement соседнее с нужной нодой положение.
Если нода имеет детей, то рекурсивно сохраняешь из все, скажем, в коллекцию, а потом рекурсивно же создаешь обратно.
Можно сделать так: создать новую ноду в нужном месте, после чего перетащить в нее всех детей старой ноды, после чего старую грохнуть. Рекурсии здесь, по крайней мере, не требуется, т.к. захватывается только один уровень вложенности - ближайшие дети подопытного кролика. А перебрать их всех можно по свойствам Child и Next означенного кролика. Таким образом, непредсказуемая в общем случае глубина рекурсии у тебя заменяется одним Do ... Loop.
Dim V as MsComCtlLib.Node ... Do Until V.Children = 0 Me.tvw_Tree.Nodes.Remove V.Child.Key Loop
Правда, не знаю, как это будет насчет производительности - скорее всего не фонтан. Да, и еще этот метод требует какого-нить уникального идентификатора - ключа в данном случае, на индекс я бы не полагался...