Beispiel #1
0
        //-----------------------------------------------------------------------

        private static TreeNode[] _createTreeNodeArray(MultiSelectTreeView treeView, ICollection <int> excludingNodesIndexes, int selecteNodeIndex, out TreeNode selectNode)
        {
            _tmpSelectNode = null;

            var nodesCount = treeView.Nodes.Count - excludingNodesIndexes.Count;
            var nodes      = new List <TreeNode>(nodesCount);

            Parallel.ForEach(treeView, node =>
            {
                if (!excludingNodesIndexes.Contains(node.Index))
                {
                    var newNode = (TreeNode)node.Clone();
                    if (node.Index == selecteNodeIndex)
                    {
                        _tmpSelectNode = newNode;
                    }

                    lock (_Lock)
                    { nodes.Add(newNode); }
                }
            });

            selectNode = _tmpSelectNode;

            return(nodes.ToArray());
        }
Beispiel #2
0
        private static void _selectedNode(TreeNode node, MultiSelectTreeView treeView)
        {
            if (treeView != null)
            {
                var selectedNode = node;

                if (treeView.Nodes.IndexOf(node) == -1 && treeView.Nodes.Count != 0)
                {
                    selectedNode = treeView.Nodes[0];
                }

                treeView.SelectedNode = selectedNode;
            }
        }
Beispiel #3
0
        private MultiSelectTreeViewDoEvents _createTreeViewClone(MultiSelectTreeView treeView)
        {
            var treeViewClone = new MultiSelectTreeViewDoEvents
            {
                Name                    = treeView.Name,
                Location                = treeView.Location,
                Size                    = treeView.Size,
                TabIndex                = treeView.TabIndex,
                BackColor               = treeView.BackColor,
                Visible                 = treeView.Visible,
                Enabled                 = treeView.Enabled,
                ForeColor               = treeView.ForeColor,
                ContextMenuStrip        = treeView.ContextMenuStrip,
                Dock                    = treeView.Dock,
                ImageIndex              = treeView.ImageIndex,
                ImageList               = treeView.ImageList,
                SelectedImageIndex      = treeView.SelectedImageIndex,
                Font                    = treeView.Font,
                IsMultiSelectSameParent = treeView.IsMultiSelectSameParent,
                StateImageList          = treeView.StateImageList,
                ShowRootLines           = treeView.ShowRootLines,
                ShowPlusMinus           = treeView.ShowPlusMinus,
                ShowNodeToolTips        = treeView.ShowNodeToolTips,
                ShowLines               = treeView.ShowLines,
                Scrollable              = treeView.Scrollable,
                AutoScrollOffset        = treeView.AutoScrollOffset,
                PathSeparator           = treeView.PathSeparator,
                Margin                  = treeView.Margin,
                LineColor               = treeView.LineColor,
                LabelEdit               = treeView.LabelEdit,
                ItemHeight              = treeView.ItemHeight,
                HotTracking             = treeView.HotTracking,
                HideSelection           = treeView.HideSelection,
                FullRowSelect           = treeView.FullRowSelect,
                Cursor                  = treeView.Cursor,
                CheckBoxes              = treeView.CheckBoxes,
                BorderStyle             = treeView.BorderStyle,
                AllowDrop               = treeView.AllowDrop,
                AccessibleDescription   = treeView.AccessibleDescription,
                AccessibleName          = treeView.AccessibleName
            };

            _onCreateTreeView(treeViewClone, treeView);
            return(treeViewClone);
        }
Beispiel #4
0
 private void _onCreateTreeView(MultiSelectTreeView newTreeView, MultiSelectTreeView oldTreeView)
 {
     CreateTreeView?.Invoke(this, new FastTreeViewsControlEventArgs(newTreeView, oldTreeView));
 }
Beispiel #5
0
 internal FastTreeViewsControlEventArgs(MultiSelectTreeView newTreeView, MultiSelectTreeView oldTreeView)
 {
     _newTreeView = newTreeView;
     _oldTreeView = oldTreeView;
 }