2011-01-25 10 views
2

私は、ユーザーに警告するためにWinFormのFlashを作成する必要があります。これを行うには、背景色をデフォルトから赤に変更し、秒。この5秒間に、フォームを使用できるようにしたいと思っています。これは、別のスレッドに点滅するコードを置くべきだと思うようになりますが、点滅するコードがフォームを修正しようとするため、これは別のスレッドで作成されました。WinFormを使用しているときに背景色を変更する

点滅するWinFormを作成するという私の目標を達成する最良の方法は何ですか?

ありがとうございます!

答えて

4

System.Windows.Forms.Timerを使用する必要があります。

+0

System.Windows.Forms.TimerとでSystem.Timers.Timerの違いは何ですか? – sooprise

+0

@Soo:WinFormsタイマーはメッセージループを使用してUIスレッドを起動します。 Timers.Timerはスレッドプールを使用します。 – SLaks

1

イベントハンドラでタイマーを使用してフォームの背景色を変更する方法はありますか?

1

他のスレッドからWinFormを変更する場合は、フォームの.Invoke()メソッドを使用できます。このメソッドを使用すると、別のスレッドがフォームスレッド内のメソッドの実行を呼び出すことができます。例については、

Seのドキュメント: MSDN: Control.Invoke

関連する問題