1

を使用するSystem.Threading.Thread.Sleep(n)と、プログラムのスレッドがブロックされ、プログラムにアクセスできなくなることを理解しています。例: ボタンをクリックできない、または他のフォームを表示できない。

だから私の質問は何ですか、私の1つのメソッドを一時停止するだけで、ボタンを使用したり、他のフォームなどを開くことができる他の代替手段はありますか?

私が使用しているコードは、私が使用しているため乱雑ですSystem.Threading.Thread.Sleep(1500)が、ここにあります:

while(Reader.Read() != null)
{
    ApplicationPort.WriteLine(line);
    System.Threading.Thread.Sleep(1500);
}

行は、コードで以前に更新された単なる文字列です。更新速度は、私が達成しようとしているものに対して速すぎるため、を使用してプログラムの速度を落とそうとしていSleepます。そして、ApplicationPort は単なるSerialPort

whileこのコードは、スリープ中に他のオブジェクトを使用することを許可していません。ループだけがスリープしている間にプログラムの残りの部分を引き続き使用できる代替手段はありますか?

4

3 に答える 3