>>438
ループの先頭で
System.Threading.Thread.Sleep( 1 );
とかするだけでCPU100%は回避できると思うよ。

キー入力チェックはマルチメディアタイマー割り込みで処理したりするのも手では。