NBM*_*NBM 5 c# interactive console-application yeoman .net-core
有人知道如何在控制台中创建有吸引力且可选择的项目吗?
当您将 yeoman 安装为 node.js 包并使用“yo”从命令行调用它时,
他们向我们展示了可滚动项目的列表,可以使用向上向下箭头键进行选择。
无论如何,是否有用于此目的的任何代码或库?(在 .NET Core 中)
解决方案的关键部分是:
Console.ReadKey()检测箭头键的按下Console.CursorTop来读取和写入当前光标位置使用这两个,这是一个非常简单的代码,可以完成您想要的操作:
int optionsCount = 5;
int selected = 0;
bool done = false;
while (!done)
{
for (int i = 0; i < optionsCount; i++)
{
if (selected == i)
{
Console.ForegroundColor = ConsoleColor.Cyan;
Console.Write("> ");
}
else
{
Console.Write(" ");
}
Console.WriteLine(i);
Console.ResetColor();
}
switch (Console.ReadKey(true).Key)
{
case ConsoleKey.UpArrow:
selected = Math.Max(0, selected - 1);
break;
case ConsoleKey.DownArrow:
selected = Math.Min(optionsCount - 1, selected + 1);
break;
case ConsoleKey.Enter:
done = true;
break;
}
if (!done)
Console.CursorTop = Console.CursorTop - optionsCount;
}
Console.WriteLine($"Selected {selected}.");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2041 次 |
| 最近记录: |