> まずは TreeView に前回選択したノードが存在しているか確認してみてください。
これを確認するために次のコードを
> TRV_Main.SelectedNode = RootNode(Nodefocus)
> TRV_Main.TopNode = RootNode(Nodefocus)
このようにしてみてください。
Dim n As TreeNode = RootNode(Nodefocus) ' -- No.1
If TRV_Main.Nodes.Contains(n) = True Then ' -- No.2
MessageBox.Show("ノードあり:" & n.ToString)
Else
MessageBox.Show("ノードなし")
End If
TRV_Main.SelectedNode = n
TRV_Main.TopNode = n
そしてデバッグして No.1 の行の変数 n に TreeNode が入っているか確認してみてください。
もしかしたら Nothing が入っているかもしれません。
Nothing だとノードを表示させることは出来なくなってしまいます。
変数 n に TreeNode が入ってきていたら No.2 の箇所で結果が True になることを確認してみてください。
TRV_Main.Nodes の Nodes は表示させたいノードが入っている階層の Nodes に対して行ってください。
もし TreeView に RootNode(Nodefocus) のノードが存在するならば、
"ノードあり" と表示されるはずです。
この時はノードが見える位置に表示されると思います。
またこの処理を行ったあとの処理でノードがまた見えなくなっている可能性も考えられます。
なのでノードを表示する以外の処理は、なるたけコメント化するなどして行わないようにした方がいいと思います。
|