C # Treeview не обновляется после перемещения узлов - PullRequest
2 голосов
/ 04 февраля 2010

В моем приложении для Windows у меня есть древовидная структура.Я сделал кнопки Custum, чтобы переместить узел вниз.Вот что происходит при нажатии кнопки:

Node destNode = tvCategories.SelectedNode.NextNode;
Node srcNode = tvCategories.SelectedNode;
Node parentNode = srcNode.Parent;

// Switch nodes
parentNode.Nodes[destNode.Index] = srcNode;
parentNode.Nodes[srcNode.Index] = destNode;

Код работает нормально, но мой древовидный список не обновляется.Я не вижу переключения узлов.

tvCategories.Refresh() или tvCategories.Invalidate() или tvCategories.Update() не работает.

Кто-нибудь знает, как это исправить?

PS: Я использую стороннее древовидное представление DevComponents.

Ответы [ 2 ]

1 голос
/ 06 апреля 2011

Настройка фокуса на древовидной структуре вызовет обновление, как я обнаружил, используя

TreeView.Focus ()

1 голос
/ 04 февраля 2010

Вы можете попытаться удалить один узел и вставить его снова:

Node destNode = tvCategories.SelectedNode.NextNode;
// Check for null (what happens, if the last node is selected?)

// Switch nodes
destNode.Parent.Nodes.Remove( destNode );
destNode.Parent.Nodes.Insert( tvCategories.SelectedNode.Index, destNode );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...