C# と VB.NET の質問掲示板
ASP.NET、C++/CLI、Java 何でもどうぞ
C# と VB.NET の入門サイト
Re[2]: Forms.TimerをStopした時の残り時間
(過去ログ 130 を表示中)
掲示板トップ
C# と VB.NET 入門
新規作成
利用方法/規約
トピック表示
ランキング
記事検索
過去ログ
[トピック内 4 記事 (1 - 4 表示)] <<
0
>>
■76852
/ inTopicNo.1)
Forms.TimerをStopした時の残り時間
▼
■
□投稿者/ マルネコ
(1回)-(2015/08/24(Mon) 15:59:39)
分類:[VB.NET/VB2005 以降]
(VB2010)
Windows.Forms.Timerについて質問です。
TimerをStart()後、ボタン操作等でTimerのStop()を行った時、
発生する予定だったTickイベントまでの残り時間を知る方法はありますか?
別途StopWatch等で計測する必要がありますか?
IntervalはあくまでもTick発生の間隔ですよね?
引用返信
編集キー/
編集
■76853
/ inTopicNo.2)
Re[1]: Forms.TimerをStopした時の残り時間
▲
▼
■
□投稿者/ shu
(769回)-(2015/08/24(Mon) 16:16:02)
2015/08/24(Mon) 16:17:30 編集(投稿者)
■
No76852
(マルネコ さん) に返信
Startで時間を取得して、次のTick時間を算出しておいて
Stopでまた時間を取得して、その差を出せばよいのではないでしょうか?
本当にやりたいことは何でしょう?
引用返信
編集キー/
編集
■76855
/ inTopicNo.3)
Re[1]: Forms.TimerをStopした時の残り時間
▲
▼
■
□投稿者/ 魔界の仮面弁士
(457回)-(2015/08/24(Mon) 16:28:15)
■
No76852
(マルネコ さん) に返信
> IntervalはあくまでもTick発生の間隔ですよね?
いいえ。必ずしも Interval の間隔を維持するとは限りません。
Tickは「Interval 以上の時間が経過したあとのアイドル時」に発生します。
時間のかかる処理が行われていた場合などは、Tick の発生が遅れることもあります。
http://bbs.wankuma.com/index.cgi?mode=al2&namber=67466&KLOG=114
> 別途StopWatch等で計測する必要がありますか?
タイマー開始時および Tick 発生時に、日付型のフィールド変数に
Me.次回予定時間 = Now.AddSeconds(Timer1.Interval / 1000)
などと保存しておけば、残り予想時間を
残り時間 = Me.次回予定時間 - Now
で求めることができます。ただし上記にも示したように、
メインスレッドにて負荷の高い処理をが行われていた場合などは、
この時刻よりも後の時間に、遅れて実行されることがありえます。
引用返信
編集キー/
編集
■76878
/ inTopicNo.4)
Re[2]: Forms.TimerをStopした時の残り時間
▲
▼
■
□投稿者/ マルネコ
(2回)-(2015/08/25(Tue) 11:39:06)
皆さま、回答ありがとうございました。
やはり、Timerとは別に計測が必要なのですね。
>Tickは「Interval 以上の時間が経過したあとのアイドル時」に発生します。
>時間のかかる処理が行われていた場合などは、Tick の発生が遅れることもあります。
上記につき、承知しました。
解決済み
引用返信
編集キー/
編集
トピック内ページ移動 / <<
0
>>
このトピックに書きこむ
過去ログには書き込み不可
管理者用
-
Child Tree
-