2011-10-27 15 views
0

キーを押すまでvb.netコンソールアプリケーションで処理を続行するにはどうすればよいですか?私は基本的に、ユーザーが任意のキーを押すまで、半音ごとにビープ音を鳴らしたい。私はループを持っているとダウンビープ:vb.netコンソールアプリケーションでビープ音が鳴るまでスペースバー

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

の質問はどのように私は「<key is pressed>」状態を実装しない、のですか?

+1

このスレッドから回答をお試しください。 http://stackoverflow.com/questions/5891538/c-sharp-listen-for-key-press-in-console-app – Tariqulazam

答えて

1

この簡単な例を見て、stuffなどのタイプライターを作成するための簡単なプログラムを作成します。彼らはただ流れを破るためにあなたのプログラムを聞かせてexit文を作るC. でいくつかの小さなコンソールゲームを作成するときに、すべての初心者がそうであるように

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; 

あなたは無限ループを作ることができます。 単にエスケープキーを押す

.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

ビープ方法は、Windows VistaおよびWindows XPの64ビット版ではサポートされていません。

0

これは古い質問ですが、これを行うだけでキーが押されるまでループするのがはるかに簡単な方法だとわかりました。

While Not Console.KeyAvailable 
'do stuff 
Loop 

Windows 7の.NET 4.0ではうまくいきます。キーを押すと、ループが終了します。

関連する問題