csharp 在C#中通过键盘箭头在控制台项之间导航
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了csharp 在C#中通过键盘箭头在控制台项之间导航相关的知识,希望对你有一定的参考价值。
class Menu
{
private Dictionary<int, string> options = new Dictionary<int, string>();
private int activeItem = 1;
public Menu()
{
this.options.Add(1, "Plus");
this.options.Add(2, "Minus");
this.options.Add(3, "Devide");
this.options.Add(4, "History");
}
public void RenderMenu()
{
Console.Clear();
Console.WriteLine(this.options.Count);
Console.WriteAscii("My Calculator", Color.Yellow);
Console.WriteLine("Please use keyboard arrows to navigate between menu items:", Color.White);
foreach (KeyValuePair<int, string> item in this.options)
{
string active = item.Key == this.activeItem ? "*" : " ";
Console.WriteLine("({0}) {1}", Color.White, active, item.Value);
}
this.handleMenuNavigation();
}
public void handleMenuNavigation()
{
switch (Console.ReadKey(false).Key)
{
case ConsoleKey.Enter:
{
// Call the selected option.
this.CallOption();
return;
}
case ConsoleKey.DownArrow:
{
if (this.activeItem < this.options.Count)
{
this.activeItem++;
}
else
{
this.activeItem = 1;
}
this.RenderMenu();
break;
}
case ConsoleKey.UpArrow:
{
if (this.activeItem > 1)
{
this.activeItem--;
}
else
{
this.activeItem = this.options.Count;
}
this.RenderMenu();
break;
}
}
}
private void CallOption()
{
throw new NotImplementedException();
}
}
以上是关于csharp 在C#中通过键盘箭头在控制台项之间导航的主要内容,如果未能解决你的问题,请参考以下文章
csharp 在C#中通过引用传递var
在 PyCharm 中通过以前的命令进行控制台选项卡
无法在 Angular 2 中通过 npm 安装依赖项
如何在 iOS 中通过键盘显示 UIView
检测浏览器是不是在网页中有键盘/箭头键
如何在vim中通过命令向下滚动而不用方向键?