VitNX_TreeView.OnKeyDown Method
Raises the KeyDown event.
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+