通过键盘C#

时间:2017-06-10 03:09:43

标签: c# keyboard

我在C#中有一个控制台应用程序,它在一个循环中用一个单词做动画。它基本上显示了从左到右的单词。 我的想法是,如果用户按下向上箭头,动画将开始上升,如果他向左按下该单词将satrt向左...等等 我的问题是,如何让循环运行并让程序监听将在任何给定时刻按下的键盘键?

2 个答案:

答案 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)

我不知道您是否找到了适合您程序的解决方案,但这里有一个很有用的教程。

Basic C# Game Programming Moving Object on the form