private void ShowTree() { profilesView.Nodes.Clear(); profilesView.Nodes.Add("Profiles"); if (treeProfiles.masterNode.Count > 0) { TreeNode tNode; TreeNodeCollection nodes = null; Dictionary <string, profileNode> aux = new Dictionary <string, profileNode>(); treeProfiles.GetProfiles("/", treeProfiles.masterNode, aux, false); profilesView.PathSeparator = "/"; profilesView.BeginUpdate(); foreach (var item in aux) { string w = "Profiles" + item.Key; string[] tmp = w.Split('/'); string currentPath = ""; nodes = profilesView.Nodes; foreach (var s in tmp) { if (s.Length == 0) { continue; } if (s != "Profiles") { currentPath += "/" + s; } // else // continue; if (nodes != null) { bool flag = false; foreach (TreeNode nItem in nodes) { if (nItem.Text == s) { flag = true; nodes = nItem.Nodes; break; } } if (!flag) { tNode = nodes.Add(s); tNode.Tag = treeProfiles.FindNode(currentPath); //tNode.Text. } } else { tNode = nodes.Add(s); tNode.Tag = treeProfiles.FindNode(currentPath); } } } profilesView.EndUpdate(); profilesView.Nodes[0].Expand(); } }