private void searchResultsBox_SelectedIndexChanged(object sender, EventArgs e) { ListBox searchResultsBox = (ListBox)sender; try { if (searchResultsBox.SelectedItem != null) { string[] splitPath = ((string)searchResultsBox.SelectedItem).Split(@"\".ToCharArray()); WzNode node = null; TreeNodeCollection collection = DataTree.Nodes; for (int i = 0; i < splitPath.Length; i++) { node = GetNodeByName(collection, splitPath[i]); if (node.Tag is WzImage && !((WzImage)node.Tag).Parsed && i != splitPath.Length - 1) { ((WzImage)node.Tag).ParseImage(); node.Reparse(); } collection = node.Nodes; } if (node != null) { DataTree.SelectedNode = node; node.EnsureVisible(); DataTree.RefreshSelectedNodes(); } } } catch { } }
/// <summary> /// Parse the data tree selected item on double clicking, or copy pasting into it. /// </summary> /// <param name="selectedNode"></param> private static void ParseOnDataTreeSelectedItem(WzNode selectedNode) { if (!((WzImage)selectedNode.Tag).Parsed) { ((WzImage)selectedNode.Tag).ParseImage(); } selectedNode.Reparse(); selectedNode.Expand(); }