ConsoleSelect
1.0.0
The following example:
var consoleSelect = new ConsoleSelect();
var options = new[]
{
new ConsoleSelect.Option<string> { Key = "option1", Text = "Option 1" },
new ConsoleSelect.Option<string> { Key = "option2", Text = "Option 2" },
new ConsoleSelect.Option<string> { Key = "option3", Text = "Option 3", Selected = true },
new ConsoleSelect.Option<string> { Key = "option4", Text = "Option 4" },
new ConsoleSelect.Option<string> { Key = "option5", Text = "Option 5" }
};
var selectedOption = consoleSelect.PropmtSelection("Select an option:", options);Would render:
Select an option:
[ ] Option 1
[ ] Option 2
[X] Option 3
[ ] Option 4
[ ] Option 5
By default, UpArrow and DownArrow is used to move selection up and down. Enter is used to confirm the selection.
The ConsoleSelect(ConsoleSelect.Settings settings) constructor can be used to customize the following:
| Property | Default | Description |
|---|---|---|
| OptionRenderFormat | "[{Selected}] {Text}" |
The render format of each option ({Selected} and {Text} are required placeholders) |
| OptionNotSelectedIndicator | " " |
The string indicating that an option is not selected |
| OptionSelectedIndicator | "X" |
The string indicating that an option is selected |
| IsTitleEnabled | true |
Whether or not the title should be drawn |
| MoveSelectionUpKey | ConsoleKey.UpArrow |
The key used to move the selection up |
| MoveSelectionDownKey | ConsoleKey.DownArrow |
The key used to move the selection down |
| ConfirmSelectionKey | ConsoleKey.Enter |
The key used to confirm the selection |
| TextWriter | Console.Out |
The writer used to output the title and options |
| InputKeyReader | intercept => Console.ReadKey(intercept) |
A function to read a key from user input |
| CursorVisibilitySetter | visible => Console.CursorVisible = visible |
A function to set the console cursor visibility |
| CursorPositionSetter | (left, top) => Console.SetCursorPosition(left, top) |
A function to set the console cursor position |
| CursorLeftGetter | () => Console.CursorLeft |
A function to get the console cursor left position |
| CursorTopGetter | () => Console.CursorTop |
A function to get the console cursor top position |