Example #1
0
        private void CheckNodeDoubleClick(DarkTreeNode node, Point location)
        {
            var rect = GetNodeFullRowArea(node);

            if (node.ExpandArea.Contains(location))
            {
                return;
            }

            if (rect.Contains(location))
            {
                if (node.Nodes.Count > 0)
                {
                    node.Expanded = !node.Expanded;
                }
                else
                {
                    node.OnDoubleClicked();
                }
            }

            if (node.Expanded)
            {
                foreach (var childNode in node.Nodes ?? Enumerable.Empty <DarkTreeNode>())
                {
                    CheckNodeDoubleClick(childNode, location);
                }
            }
        }