gpt4 book ai didi

c# - .NET Core 控制台应用程序中的交互式、可选择和可滚动项目,如 Yeoman 控制台

转载 作者:行者123 更新时间:2023-11-30 23:21:06 26 4
gpt4 key购买 nike

有人知道如何在控制台中创建有吸引力和可选择的项目吗?

当您将 yeoman 安装为 node.js 包并使用“yo”从命令行调用它时,

他们向我们展示了一个可滚动项目列表,可以使用上下箭头键进行选择。

是否有用于此目的的任何代码或库? (在 .NET 核心中)

enter image description here enter image description here

最佳答案

解决方案的关键部分是:

  • 您可以使用 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}.");

关于c# - .NET Core 控制台应用程序中的交互式、可选择和可滚动项目,如 Yeoman 控制台,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39439673/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com