- PR -

C#でwaitを入れたい。

1
投稿者投稿内容
マーライオン
会議室デビュー日: 2005/01/13
投稿数: 17
お住まい・勤務地: 東京都五反田
投稿日時: 2005-03-14 11:35
あるコードまで実行したら2秒間待って次のコード実行するといったプログラム
を書きたいのですがどなたかご教授お願い致します。
待ちの間できればWindowsに制御を戻したいです。
Hongliang
ぬし
会議室デビュー日: 2004/12/25
投稿数: 576
投稿日時: 2005-03-14 11:39
System.Threading.Thread.Sleepをどうぞ。
ただし、UIスレッドではやるべきではありません。

[ メッセージ編集済み 編集者: Hongliang 編集日時 2005-03-14 11:40 ]
マーライオン
会議室デビュー日: 2005/01/13
投稿数: 17
お住まい・勤務地: 東京都五反田
投稿日時: 2005-03-14 12:53
Hongliang様
さっそくの返信ありがとうございます。

System.Threading.Thread.Sleep(2000);
としてみたのですがうまく動いてくれているようでした。
すいません、UIスレッドとはどのようなものなのでしょうか?^^;
Hongliang
ぬし
会議室デビュー日: 2004/12/25
投稿数: 576
投稿日時: 2005-03-14 15:20
引用:

すいません、UIスレッドとはどのようなものなのでしょうか?^^;


その名の通りUIを扱っているスレッドです。
普通にWinFormアプリケーションを作った時に、Formのインスタンスを作ったスレッドなどがそれに当たります。
Threadインスタンスを作成したりデリゲートのBeginInvokeを使うなどして別スレッドを作らない限りコードはこのスレッドで実行されます。
しかし元々UIを扱う、つまりユーザと対話するためのスレッドですから、
それをSleepさせてしまうとユーザからの入力・ユーザへの出力が止まってしまい、
ハングアップしたかのように見えてしまいます。
マーライオン
会議室デビュー日: 2005/01/13
投稿数: 17
お住まい・勤務地: 東京都五反田
投稿日時: 2005-03-14 17:17
あっなるほど、UIというのはユーザーインタフェースのことだったのですね^^;
テキストボックスなどは使っていないので大丈夫でした^^
どうもありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)