VBでタイマーを作りたいのですが への返答
投稿で使用できる特殊コードの説明。(別タブで開きます。)
以下の返答は逆順(新しい順)に並んでいます。
投稿者 鴇  (高校生)
投稿日時
2009/2/12 20:22:35
はじめまして。
今普通のタイマーではなく、自分が任意に設定した時間間隔で
メッセージボックスを出してくれるタイマーを作りたくて悩んでいます。
仕様としては、
1:「何分後にアラートをあげる」感じのタイマー
2:時間間隔は1回目は10分後、2回目は5分後・・・と最低2種類を設定できること
3:メッセージボックスはアラートがあがる場合、最前線に表示されること
今ボタンを押すとDim newTime As Date = Nowで
現在の日付が表示されるところまではできました。
プログラムを作るのも慣れていませんので、方向違いな質問かもしれませんが
アドバイス宜しくお願いします。
今普通のタイマーではなく、自分が任意に設定した時間間隔で
メッセージボックスを出してくれるタイマーを作りたくて悩んでいます。
仕様としては、
1:「何分後にアラートをあげる」感じのタイマー
2:時間間隔は1回目は10分後、2回目は5分後・・・と最低2種類を設定できること
3:メッセージボックスはアラートがあがる場合、最前線に表示されること
今ボタンを押すとDim newTime As Date = Nowで
現在の日付が表示されるところまではできました。
プログラムを作るのも慣れていませんので、方向違いな質問かもしれませんが
アドバイス宜しくお願いします。
vb2005以降とは思いますが、VBのバージョンは書いてくださいね。
アドバイスが変わってくることもありますからね。
悩み解消の一案。
・Timerコントロールで一定時間毎に時間をチェックできる。
・現在の時間はNowで取得できる。
を利用する事で、
1.タイマースタート時の「現在の時間」を取得、「スタートの時間」として保存しておく
2.一定時間(例えば1Sec毎とか)毎に「現在の時間」を取得して、
「スタートの時間」- 「現在の時間」で経過時間を取得できる。
3.経過時間を設定時間と比較、判断。
で、タイマーは出来上がり。
>3:メッセージボックスはアラートがあがる場合、最前線に表示されること
は自前で、Formを表示させる方が良いと思います。
messageboxだと、応答するまで、何も出来なくなるので。
最前線→最前面は
FormクラスのTopMostプロパティ
を調べてみて下さい。