VitNX_TreeView.OnKeyDown Method

Raises the KeyDown event.
protected override void OnKeyDown( 
KeyEventArgs e 
)
This language is not supported or no code example is available.

Parameters

e
KeyEventArgs

A KeyEventArgs that contains the event data.

protected override void OnKeyDown(KeyEventArgs e)
 {
     base.OnKeyDown(e);
 
     if (IsDragging)
         return;
 
     if (Nodes.Count == 0)
         return;
 
     if (e.KeyCode != Keys.Down && e.KeyCode != Keys.Up && e.KeyCode != Keys.Left && e.KeyCode != Keys.Right)
         return;
 
     if (_anchoredNodeEnd == null)
     {
         if (Nodes.Count > 0)
             SelectNode(Nodes[0]);
         return;
     }
 
     if (e.KeyCode == Keys.Down || e.KeyCode == Keys.Up)
     {
         if (MultiSelect && ModifierKeys == Keys.Shift)
         {
             if (e.KeyCode == Keys.Up)
             {
                 if (_anchoredNodeEnd.PrevVisibleNode != null)
                 {
                     SelectAnchoredRange(_anchoredNodeEnd.PrevVisibleNode);
                     EnsureVisible();
                 }
             }
             else if (e.KeyCode == Keys.Down)
             {
                 if (_anchoredNodeEnd.NextVisibleNode != null)
                 {
                     SelectAnchoredRange(_anchoredNodeEnd.NextVisibleNode);
                     EnsureVisible();
                 }
             }
         }
         else
         {
             if (e.KeyCode == Keys.Up)
             {
                 if (_anchoredNodeEnd.PrevVisibleNode != null)
                 {
                     SelectNode(_anchoredNodeEnd.PrevVisibleNode);
                     EnsureVisible();
                 }
             }
             else if (e.KeyCode == Keys.Down)
             {
                 if (_anchoredNodeEnd.NextVisibleNode != null)
                 {
                     SelectNode(_anchoredNodeEnd.NextVisibleNode);
                     EnsureVisible();
                 }
             }
         }
     }
 
     if (e.KeyCode == Keys.Left || e.KeyCode == Keys.Right)
     {
         if (e.KeyCode == Keys.Left)
         {
             if (_anchoredNodeEnd.Expanded && _anchoredNodeEnd.Nodes.Count > 0)
             {
                 _anchoredNodeEnd.Expanded = false;
             }
             else
             {
                 if (_anchoredNodeEnd.ParentNode != null)
                 {
                     SelectNode(_anchoredNodeEnd.ParentNode);
                     EnsureVisible();
                 }
             }
         }
         else if (e.KeyCode == Keys.Right)
         {
             if (!_anchoredNodeEnd.Expanded)
             {
                 _anchoredNodeEnd.Expanded = true;
             }
             else
             {
                 if (_anchoredNodeEnd.Nodes.Count > 0)
                 {
                     SelectNode(_anchoredNodeEnd.Nodes[0]);
                     EnsureVisible();
                 }
             }
         }
     }
 }
					
This language is not supported or no code example is available.

.NET Framework

Supported in: 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8

.NET Core

Supported in: 5.0+, 6.0+

In this article

Definition