/// <summary> /// Find a node bu user data. /// </summary> /// <param name="userData">Node user data.</param> /// <param name="recursive">Determines whether the search should be recursive.</param> /// <returns>Found node or null.</returns> public TreeNode FindNodeByUserData(object userData, bool recursive = true) { TreeNode node = this.Children.Where(x => x is TreeNode && x.UserData == userData).FirstOrDefault() as TreeNode; if (node != null) { return(node); } if (recursive) { foreach (ControlBase child in this.Children) { node = child as TreeNode; if (node != null) { node = node.FindNodeByUserData(userData, true); if (node != null) { return(node); } } } } return(null); }
/// <summary> /// Find a node bu user data. /// </summary> /// <param name="userData">Node user data.</param> /// <param name="recursive">Determines whether the search should be recursive.</param> /// <returns>Found node or null.</returns> public TreeNode FindNodeByUserData(object userData, bool recursive = true) { return(m_RootNode.FindNodeByUserData(userData, recursive)); }