ATMLCommonLibrary.forms.ATMLNavigationWindow.testSetNavigationTree_BeforeSelect C# (CSharp) Method

testSetNavigationTree_BeforeSelect() private method

private testSetNavigationTree_BeforeSelect ( object sender, TreeViewCancelEventArgs e ) : void
sender object
e TreeViewCancelEventArgs
return void
        private void testSetNavigationTree_BeforeSelect( object sender, TreeViewCancelEventArgs e )
        {
            var fi = e.Node.Tag as FileInfo;
            var di = e.Node.Tag as DirectoryInfo;
            bool ctrlKey = ( ModifierKeys == Keys.Control );
            bool shftKey = ( ModifierKeys == Keys.ShiftKey );
            RemovedPaintedNodes();
            if (!ctrlKey && !shftKey && _selectedNodes.Count > 0)
                _selectedNodes.RemoveRange( 0, _selectedNodes.Count );

            if (ctrlKey && _selectedNodes.Contains( e.Node ))
            {
                e.Cancel = true;
                _selectedNodes.Remove( e.Node );
            }
            else
            {
                _lastTreeNode = e.Node;
                if (!shftKey)
                {
                    _firstTreeNode = e.Node;
                    RemovedPaintedNodes();
                }
            }
            PaintSelectedNodes();
        }