gpt4 book ai didi

c# - 如何在 C# 控制台中突出显示和选择控制台文本

转载 作者:行者123 更新时间:2023-12-05 01:04:57 26 4
gpt4 key购买 nike

我希望创建一个旧式终端仿真,创建命令似乎很容易,但我想给用户一个非常复古的 UI 界面。我希望能够将文本打印到控制台,例如:“日志”,然后当用户按下箭头键时,我希望它被突出显示,一旦被选中,我希望能够按回车键并执行选定的命令。顺便说一句,我正在使用 Visual Studio Express 2012 for Desktop。

最佳答案

我认为你将不得不重写你已经放在屏幕上的线条来改变它们的颜色和背景作为对箭头输入的响应

我想你将能够使用

Console.SetCursorPosition

将光标放回要更改颜色的行上,然后
Console.BackgroundColor
Console.ForegroundColor
Console.ResetColor()

修改您所写内容的颜色

所以基本上你需要
  • 开机清屏,了解各个选项的位置
  • 响应魔术按键
  • 重写您的魔术按键突出显示的项目的颜色/背景

  • 请记住在重写突出显示的部分后将光标设置回其原始位置。这是一个粗略的样本,以表明我的意思。
    Console.Clear();
    Console.WriteLine("Option 1");
    Console.WriteLine("Option 2");
    Console.WriteLine("Option 3");
    Console.WriteLine();
    Console.Write("input: ");

    var originalpos = Console.CursorTop;

    var k = Console.ReadKey();
    var i = 2;

    while (k.KeyChar != 'q')
    {

    if (k.Key == ConsoleKey.UpArrow)
    {

    Console.SetCursorPosition(0, Console.CursorTop - i);
    Console.ForegroundColor = ConsoleColor.Black;
    Console.BackgroundColor = ConsoleColor.White;
    Console.WriteLine("Option " + (Console.CursorTop + 1));
    Console.ResetColor();
    i++;

    }

    Console.SetCursorPosition(8, originalpos);
    k = Console.ReadKey();
    }

    我认为创建一个例程可能更容易,该例程在屏幕上打印所有必要的文本并在用户每次按下魔术键时重写整个文本,并在您进行时突出显示。

    关于c# - 如何在 C# 控制台中突出显示和选择控制台文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22131975/

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