2009-02-26 1 views
2

Настольное приложение, которое я переношу, сильно использует элемент управления TreeView, и многие звонки на TreeNode.FirstSibling, например.Миграция с VB6 на .NET, есть ли эквивалентная функция для TreeNode.FirstSibling?

'UPGRADE_ISSUE: MSComctlLib.Node property tvTreeView.SelectedItem.FirstSibling was not upgraded. 
If tvTreeView.SelectedNode.FirstSibling.Index = 1 Then 
... 
End If 

Есть ли эквивалентная функция для использования?

+0

Предполагая, что VB6 имеет индекс первого узла, равный 1? (не основано на нулевом значении). Тогда не был бы ли приведенный выше оператор IF ALWAYS истинным? –

+0

Я думаю, что ты прав! Но это не единственное его использование, поэтому проблема остается даже после удаления таких ошибок программирования. Возможно, мне пришлось переписать с нуля. – brasskazoo

+0

@brass - прочитайте это, если вы думаете о повторном написании http : //www.joelonsoftware.com/articles/fog0000000069.html –

ответ

5

Ну есть родственный он должен иметь родителя, так что вы могли бы сделать

myTreeNode.Parent.FirstNode

Или вы могли бы сделать

myTreeNode.Parent.Nodes[0]

EDIT: и последнего брата :

myTreeNode.Parent.LastNode

0

Я мог ошибаться, но не «FirstChild», или FirstParent. Альтернативно, NextNode, который должен перебираться через братьев и сестер.

Смежные вопросы