2011-07-20 18 views
-1

私の学校でサインインシステムが動作していて、学生がサインインするとウェルカムメッセージが表示され、5秒後にこのウェルカムメッセージが消去され、 "Please学生カードをスワイプします "。私はスリープスレッドを実行している。ウェルカムラベルをリセットして、スリープスレッドが終了した後に「あなたのIDカードをスワイプしてください」と言ってもらいたいですが、それはしません。どんな助け?私はこれについて正しいことをしていますか?ありがとうございました。Thread.Sleep後のラベルテキストの変更

答えて

2

問題の正確な原因を推測する必要があるため、詳細は示していません。私はWindows上でC#を使用していると仮定します。

私はあなたがエラーであるワーカースレッドからユーザーインターフェイスコードを実行しようとしていると思います。ユーザーインターフェイスコードはメインスレッドで実行する必要があります。

これはControl.Invokeで解決できますが、スレッドを避け、5秒間待機するタイマーを使用してメインスレッドでUI更新を実行する方がはるかに優れています。

1

どの言語ですか? コードは何ですか?

タイマーを使用して、タイマーが刻むときにラベルに新しいテキストを割り当てることもできます。

関連する問題