private void FindPath(string Path) { TreeNode node = null; string s = ""; if ((Path == "") || (tv.Nodes.Count == 0)) { return; } for (int i = 0; i < tv.Nodes.Count; i++) { s = tv.Nodes[i].Tag.ToString().Substring(1); if (s.ToLower() == Path.Substring(0, s.Length).ToLower()) { node = tv.Nodes[i]; break; } } if (node == null) { return; } node.Expand(); tv.SelectedNode = node; if (node.Nodes.Count > 0) { node = node.Nodes[0]; } else { node = null; } while (node != null) { s = node.Tag.ToString().Substring(1); if (s.ToLower() == Path.ToLower()) { tv.SelectedNode = node; break; } if ((s.ToLower() != Path.ToLower()) && (s.ToLower() == Pub.GetFileNamePath(Path).ToLower())) { tv.SelectedNode = node; } if ((Path.Length >= s.Length) && (s.ToLower() == Path.Substring(0, s.Length).ToLower())) { node.Expand(); tv.SelectedNode = node; if (node.Nodes.Count > 0) { node = node.Nodes[0]; } else { node = null; } continue; } node = node.NextNode; } if (tv.SelectedNode != null) { SelectChange(tv.SelectedNode); } }