internal void InternalKeyDown(KeyEventArgs args)
{
// Children first (Order by Z-Order)
foreach (var child in Children.InZOrder())
{
child.InternalKeyDown(args);
if (args.Handled)
break;
}
// Bubble up
if (!args.Handled)
{
OnKeyDown(args);
if (KeyDown != null)
KeyDown(this, args);
}
}