/// <summary>Triggered when a key is pressed, and handles what to do with it.</summary> /// <param name="PressedKey"></param> /// <returns>Returns True if the window should remain open, otherwise false.</returns> protected virtual bool OnKeyPress(ConsoleKeyInfo PressedKey) { if (PressedKey.Modifiers == ConsoleModifiers.Control && PressedKey.Key == ConsoleKey.W) { Close(); return(false); } switch (HighlightedElement?.OnKeyPress(PressedKey)) { case KeyPressReturn.NOTHING: break; case KeyPressReturn.NEXT_ELEMENT: if (HighlightedElement.NextElement != null) { HighlightedElement.Highlighted = false; HighlightedElement = HighlightedElement.NextElement; HighlightedElement.Highlighted = true; } break; case KeyPressReturn.PREV_ELEMENT: if (HighlightedElement.PreviousElement != null) { HighlightedElement.Highlighted = false; HighlightedElement = HighlightedElement.PreviousElement; HighlightedElement.Highlighted = true; } break; case KeyPressReturn.CLOSE: Close(); return(false); default: break; } return(true); }
/// <summary>Adds an Element to the Window</summary> /// <param name="NewElement"></param> public void AddElement(WindowElement NewElement) { AllElements.Add(NewElement); }