- PR -

5秒間隔のリフレッシュ処理

1
投稿者投稿内容
ヒフミ
会議室デビュー日: 2004/03/30
投稿数: 16
投稿日時: 2004-04-06 00:50
C#初心者@初めて書き込みさせていただきます。

環境はWINDOWS.FORMです。

【質問内容】
5秒間隔でDBアクセスし、リフレッシュ処理を行うための「5秒」
をカウントしたい。

【前提条件】
1.同じフォームを複数立ち上げ、それぞれに5秒間のカウントを行いたい。
2.カウント中に他の操作を行いたい。
3.カウントする部分だけ共通クラス化にしたい。

Sleep関数やTimer関数を使用してカウントするまでは可能となったのですが、その間に他の処理を行うことが出来なくなってしまいます。
意味不明な質問でしたら、申し訳ありません・・・。

大変初歩的な質問で申し訳ないのですが、ご教授頂ければ幸いです。
なちゃ
ぬし
会議室デビュー日: 2003/06/11
投稿数: 872
投稿日時: 2004-04-06 01:23
引用:

ヒフミさんの書き込み (2004-04-06 00:50) より:
【前提条件】
1.同じフォームを複数立ち上げ、それぞれに5秒間のカウントを行いたい。
2.カウント中に他の操作を行いたい。
3.カウントする部分だけ共通クラス化にしたい。

Sleep関数やTimer関数を使用してカウントするまでは可能となったのですが、その間に他の処理を行うことが出来なくなってしまいます。


普通にTimerクラス(WindowsのタイマかTimerコンポーネント辺り)を使ってイベントで処理すればいいような気がするんですが(2の条件があるなら尚更)、どうでしょう?
ちなみに3は何ででしょうか?単に機能としてプログラムをまとめたいってだけですか?
# なんか、既存のTimerでイベント使うんじゃ駄目な理由があるとか?
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-04-06 08:06
 5秒(プロパティで変更可能)間隔で特定のイベントを発行する空のフォーム、を作って、それを継承していけばいいのでは?
一郎
ぬし
会議室デビュー日: 2002/10/11
投稿数: 1081
投稿日時: 2004-04-06 09:35
Sleep()関数というのはThread.Sleep()のことかと思いますが、
Timer()関数というのは何クラスのメンバですか?

ちなみにSleep()じゃその間に他の処理は無理ですよね、Sleepしちゃうんで。
なちゃさんのおっしゃるようにTimerクラスを使ってください。
ヒフミ
会議室デビュー日: 2004/03/30
投稿数: 16
投稿日時: 2004-04-06 19:17
なちゃ様、Jitta様、一郎様

返答ありがとうございました。
Timerコンポーネントを使用して問題なく動きました。
ご報告まで・・。

また、よろしくお願いします!
1

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