在vb.net控制台应用程序中发出哔哔声,直到按下空格键

时间:2011-10-27 05:05:41

标签: .net vb.net

如何在按键之前继续在vb.net控制台应用程序中处理?我基本上想要每半秒循环播放一次哔声,直到用户按任意键。我有一个循环并发出哔哔声:

Do Until <key is pressed>
   Console.Beep()
   Sleep(500)
Loop

问题是,如何实施“<key is pressed>”条件?

2 个答案:

答案 0 :(得分:1)

看看这个简单的例子来创建一个简单的程序来制作类似东西的打字机。

int i;
char c;
while (true)
{
 i = Console.Read ();
 if (i == -1) break;
 c = (char) i;
 Console.WriteLine ("Echo: {0}", c);
}
Console.WriteLine ("Done");
return 0;

你可以像所有初学者在C中创建一些小游戏机游戏那样做一个无限循环。 只需创建一个退出语句,让您的程序打破流程。 只需按下Escape键

您可以关注可能有助于您在.net中实施的Tariqulazam评论链接。

Console.WriteLine("Press any key to stop");
do {
    while (! Console.KeyAvailable) {
        // Do something
   }       
} while (Console.ReadKey(true).Key != ConsoleKey.Escape);

尝试使用此方法Beep(int,int)。点击此链接。

http://msdn.microsoft.com/en-us/library/4fe3hdb1.aspx

64位版本的Windows Vista和Windows XP不支持Beep方法。

答案 1 :(得分:0)

我知道这是一个老问题,但我必须这样做并找到我认为更简单的循环方式,直到按下一个键。

While Not Console.KeyAvailable
'do stuff
Loop

它在Win 7上的.NET 4.0下运行良好。一旦按下一个键,就会退出循环。