Mar*_*lon 4 c# user-input wait
对于控制台应用程序,我需要知道如何在设定的时间(大约10秒)内等待用户输入一个或一组键,然后再继续应用程序的"自动运行"部分.
这是困扰我,因为我无法弄清楚计时器是如何工作的,或者是threading.sleep,我应该使用什么?一整天都在谷歌搜索.
一些伪代码:
1.app打开
2.app等待10秒,用户点击"k"键.
3.如果用户点击k,则转到4.如果用户没有,请转到5.
4.运行一个函数(打开一个表单)
5.运行一个函数(做某事)
我打赌简单,我只是不明白发生了什么.
小智 10
以下是C#控制台应用程序的一些示例代码.它不使用计时器,而是使用Sleep.它可能比基于计时器的代码更容易理解.
static void openForm()
{
Console.WriteLine("Form opened!");
}
static void doSomething()
{
Console.WriteLine("Do something!");
}
static void Main(string[] args)
{
bool optionForm = false;
int seconds = 1;
Console.Write("Press 'k' to open form");
while (true)
{
if (Console.KeyAvailable)
{
ConsoleKeyInfo c = Console.ReadKey(true);
if (c.Key == ConsoleKey.K)
{
optionForm = true;
break;
}
}
System.Threading.Thread.Sleep(1000);
if (seconds++ > 10)
break;
Console.Write('.');
}
Console.WriteLine();
if (optionForm)
openForm();
else
doSomething();
Console.ReadKey();
}
Run Code Online (Sandbox Code Playgroud)