我在C#中有一个控制台应用程序,它在一个循环中用一个单词做动画。它基本上显示了从左到右的单词。 我的想法是,如果用户按下向上箭头,动画将开始上升,如果他向左按下该单词将satrt向左...等等 我的问题是,如何让循环运行并让程序监听将在任何给定时刻按下的键盘键?
答案 0 :(得分:1)
我为你写了一个很好且相当可观的代码,尽管你需要自己完成它。它只是按照左箭头键的顺序。您需要添加一些额外的代码来跟踪其他订单。你也必须关心indexoutofrangeexception
。正如您所看到的,我已经编写了一些额外的代码来处理控制台的左侧。我希望你喜欢它。
static void Main(string[] args)
{
const string txt = "STACKOVERFLOW";
var x = 1;
var startPos = 0;
var col = 0;
while (true)
{
do
{
while (!Console.KeyAvailable && (startPos <= 100 || startPos >= 0))
{
startPos = col + x;
if (startPos < 0)
{
startPos = 0;
x = 1;
}
Console.SetCursorPosition(startPos, 0);
Console.WriteLine(txt);
col = startPos;
Thread.Sleep(500);
Console.Clear();
}
} while (Console.ReadKey(true).Key != ConsoleKey.LeftArrow);
x = -1;
}
}
答案 1 :(得分:0)
我不知道您是否找到了适合您程序的解决方案,但这里有一个很有用的教程。