Files
SourceCode/PROMS/Volian.Controls.Library/vlnTreeView3.cs
T

34 lines
1.1 KiB
C#

using System.Windows.Forms;
namespace Volian.Controls.Library
{
public partial class vlnTreeView3 : TreeView
{
#region Events
public event vlnTreeViewEvent NodeSelectionChange;
private void OnNodeSelectionChange(object sender, vlnTreeEventArgs args) => NodeSelectionChange?.Invoke(sender, args);
#endregion
#region Business Methods
#endregion
#region Constructors
public vlnTreeView3()
{
InitializeComponent();
base.AfterSelect += new TreeViewEventHandler(tv_AfterSelect);
}
private void tv_AfterSelect(object sender, TreeViewEventArgs e) => OnNodeSelectionChange(sender, new vlnTreeEventArgs(e.Node));
#endregion
private void ExpandMatch(TreeNode tn1, TreeNode tn2)
{
if (tn2.IsExpanded) tn1.Expand();
foreach (TreeNode tc in tn2.Nodes) ExpandMatch(tn1.Nodes[tc.Index], tc);
}
private bool IsChild(TreeNode parent, TreeNode child)
{
if (parent.Equals(child)) return true;// Check against self
foreach (TreeNode tc in parent.Nodes) if (IsChild(tc, child)) return true;//Check all children
return false;// Must not be a child at this level
}
}
}