Esempio n. 1
0
        public MenuEvent GetMenuSelection()
        {
            ConsoleKeyInfo cki = System.Console.ReadKey(true);

            // special case, allow navigate back using backspace.
            if (cki.Key == ConsoleKey.Backspace)
            {
                return(MenuEvent.Back);
            }

            int selection = (int)MenuEvent.Invalid;

            Int32.TryParse(cki.KeyChar.ToString(), out selection);

            if (selection != (int)MenuEvent.Invalid)
            {
                if (selection >= _currentMenu.GetListIndex(_currentMenu.GetItems().First()) &&
                    selection <= _currentMenu.GetListIndex(_currentMenu.GetItems().Last()))
                {
                    return((MenuEvent)_currentMenu.GetItemId(selection));
                }
            }

            return(MenuEvent.Invalid);
        }