Как сохранить в настройках приложения флажок «Проверено в древовидном представлении»? - PullRequest
0 голосов
/ 18 ноября 2011

Я смотрю, как сохранить отмеченные флажки в древовидной структуре, которая содержит много папок и подпапок.Можно ли их сохранить в настройках приложения?

1 Ответ

0 голосов
/ 19 ноября 2011

Вы можете сохранить Dictionary(Of String, Boolean) и использовать уникальное свойство Name (или FullPath) каждого TreeNode:

    Dim d As New Dictionary(Of String, Boolean)
    Dim stack As New Stack(Of TreeNode)

    For Each n As TreeNode In Me.TreeView1.Nodes
        stack.Push(n)
    Next

    While stack.Count > 0
        Dim node As TreeNode = stack.Pop()

        For Each subNode As TreeNode In node.Nodes
            stack.Push(subNode)
        Next

        d.Add(node.Name, node.Checked)
    End While

    ' Store d in My.Settings or somewhere else

Чтобы восстановить его, просто зациклите словарь и установитеChecked значения по имени (или пути).

...