ATMLCommonLibrary.forms.ATMLNavigationWindow.testSetNavigationTree_BeforeSelect C# (CSharp) 메소드

testSetNavigationTree_BeforeSelect() 개인적인 메소드

private testSetNavigationTree_BeforeSelect ( object sender, TreeViewCancelEventArgs e ) : void
sender object
e TreeViewCancelEventArgs
리턴 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();
        }