private static bool RecurseKeyDown(Gump g, char c) { if (!g.Visible) { return false; } Gump[] gumpArray = g.Children.ToArray(); for (int i = gumpArray.Length - 1; i >= 0; i--) { if (RecurseKeyDown(gumpArray[i], c)) { return true; } } return ((g.GetType() != typeof(GTextBox)) && g.OnKeyDown(c)); }