TimerをLabelに、表示したい 2008 Express への返答
投稿で使用できる特殊コードの説明。(別タブで開きます。)
以下の返答は逆順(新しい順)に並んでいます。
投稿者 (削除されました)  ()
投稿日時
2009/8/24 20:39:02
(削除されました)
投稿者 流れ者  (社会人)
投稿日時
2009/8/24 18:53:16
こんにちは。
>この馬鹿のためにわかりやすいコードを乗せていたただきありがとうございます
そんなに自分を卑下する必要はありません。
たとえ簡単な処理でも、それを使ったことが無ければ、解らないのも当然です。
大事なのは、教えてもらったことを、自らの知識とし、
同じ質問を2度繰り返さないことだと、私は思います。
>この馬鹿のためにわかりやすいコードを乗せていたただきありがとうございます
そんなに自分を卑下する必要はありません。
たとえ簡単な処理でも、それを使ったことが無ければ、解らないのも当然です。
大事なのは、教えてもらったことを、自らの知識とし、
同じ質問を2度繰り返さないことだと、私は思います。
投稿者 TimerをLabelに、表示したい 2008 Express  (社会人)
投稿日時
2009/8/24 10:14:37
みなさん、ありがとうございます
おかげさまで、無事、解決できました
この馬鹿のためにわかりやすいコードを乗せていたただきありがとうございます
おかげさまで、無事、解決できました
この馬鹿のためにわかりやすいコードを乗せていたただきありがとうございます
投稿者 太郎冠者  (社会人)
投稿日時
2009/8/24 04:30:19
>このソースの処理の仕方(アルゴリズム?)をもう少しお教えいただければ・・・
処理の仕方、と言うほど御大層なもんじゃないですけど
TimerコントロールのTickイベントは、TimerコントロールのEnabledプロパティがTrue、かつIntervalが0より大きい値に設定されている場合に、Intervalに設定した時間が経過する度に発生します
例えばIntervalに1000(単位はミリ秒)をセットすると、1秒経過する度にTickイベントが発生します
適当な数値(例えば100)をLabelに表示して、Tickイベント内で「Labelの値-1」を新たにLabelに表示してやれば1秒経過する度に100、99、98・・・とカウントダウンされていきます。
イベントドリブンの理解が浅いとイメージし難いかもしれないので、とりあえず下記講座を読んでみて下さいな
http://homepage1.nifty.com/rucio/VBNyumon/BEGIN4.htm
処理の仕方、と言うほど御大層なもんじゃないですけど
TimerコントロールのTickイベントは、TimerコントロールのEnabledプロパティがTrue、かつIntervalが0より大きい値に設定されている場合に、Intervalに設定した時間が経過する度に発生します
例えばIntervalに1000(単位はミリ秒)をセットすると、1秒経過する度にTickイベントが発生します
適当な数値(例えば100)をLabelに表示して、Tickイベント内で「Labelの値-1」を新たにLabelに表示してやれば1秒経過する度に100、99、98・・・とカウントダウンされていきます。
イベントドリブンの理解が浅いとイメージし難いかもしれないので、とりあえず下記講座を読んでみて下さいな
http://homepage1.nifty.com/rucio/VBNyumon/BEGIN4.htm
投稿者 (削除されました)  ()
投稿日時
2009/8/24 04:00:36
(削除されました)
投稿者 (削除されました)  ()
投稿日時
2009/8/24 00:53:53
(削除されました)
投稿者 魔界の仮面弁士  (社会人)
投稿日時
2009/8/23 21:19:29
さらに細かく表示してみたり。
Private startTime As Date
Private finishTime As Date
Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load
'現在時刻の 12.34秒後を完了時刻とする
startTime = Now()
finishTime = startTime.AddSeconds(12.34)
Timer1.Interval = 55
Timer1.Start()
End Sub
Sub Timer1_Tick(ByVal sender As Object, ByVal e As EventArgs) Handles Timer1.Tick
Dim currentTime As Date = Now()
Label1.Text = String.Format("開始時刻:{0:yyyy/MM/dd HH:mm:ss.ffff}", startTime)
Label2.Text = String.Format("現在時刻:{0:yyyy/MM/dd HH:mm:ss.ffff}", currentTime)
Label3.Text = String.Format("完了時刻:{0:yyyy/MM/dd HH:mm:ss.ffff}", finishTime)
Dim elapsedTime As TimeSpan = currentTime - startTime
Dim passedTime As TimeSpan = finishTime - currentTime
Label4.Text = String.Format("経過時間:{0}", elapsedTime)
Label5.Text = String.Format("残り時間:{0}", passedTime)
If currentTime >= finishTime Then
Timer1.Stop()
End If
End Sub
投稿者 TimerをLabelに、表示したい 2008 Express  (学生)
投稿日時
2009/8/23 11:45:10
迅速が返答に感謝です(嬉)
このソースの処理の仕方(アルゴリズム?)をもう少しお教えいただければ・・・
いままで、do~loopで、書き換えていたもので・・・「使わないなら、どうやって・・・・??」
って、なっているもので・・・・・
学生なのに、理解力弱くてすいませんorz
このソースの処理の仕方(アルゴリズム?)をもう少しお教えいただければ・・・
いままで、do~loopで、書き換えていたもので・・・「使わないなら、どうやって・・・・??」
って、なっているもので・・・・・
学生なのに、理解力弱くてすいませんorz
投稿者 ゆきと  (中学生)
投稿日時
2009/8/23 10:54:31
こんな感じですか?
見ずらくてごめんなさい
見ずらくてごめんなさい
Private cnt As Integer
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
cnt = 50 '残り時間
Timer1.Interval = 100 'タイマーが進む感覚
Timer1.Start()
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
If cnt > 0 Then
cnt -= 1
Label1.Text = "残り時間:" & cnt
Else
Label1.Text = "0になりました"
End If
End Sub
投稿者 winvis  (学生)
投稿日時
2009/8/23 10:22:39
Timer部品を使って、ゲームの残り時間を、計測しているのですが
そのTimerが計測している時間をlabel部品でユーザーに表示するようにしたいのですが・・・
どうすればいいでしょうか?
「残り時間:」みたいに
そのTimerが計測している時間をlabel部品でユーザーに表示するようにしたいのですが・・・
どうすればいいでしょうか?
「残り時間:」みたいに
Dim count As Integer
Const max As Integer = 100
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
count -= 1
If count < 0 Then
Label1.Text = "時間ぎれです"
Else
Label1.Text = "残り" & count.ToString & "秒"
End If
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Timer1.Enabled = Not Timer1.Enabled
If Timer1.Enabled = True Then
count = max
Button1.Text = "ストップ"
Else
Button1.Text = "スタート"
End If