経過時間を計ることはできますか? への返答
投稿で使用できる特殊コードの説明。(別タブで開きます。)
以下の返答は逆順(新しい順)に並んでいます。
投稿者 魔界の仮面弁士  (社会人)
投稿日時
2009/1/19 20:41:54
経過時間の測定には、「System.Diagnostics.StopWatch クラス」が便利かと思います。
(Date 型/TimeSpan 型でも良いですけれども)
一方、「System.Windows.Forms.Timer クラス」は、
“一定時間が経過するたびにイベントを発生させる”という代物です。
(“一定間隔でイベントを発生させる”では無い事に注意)
以下サンプル。
フォームに、Label/Button/Timer を貼っておいてください。
上記の Timer1.Interval は、画面の再描画間隔を表します。お好みで調整してください。
(Date 型/TimeSpan 型でも良いですけれども)
一方、「System.Windows.Forms.Timer クラス」は、
“一定時間が経過するたびにイベントを発生させる”という代物です。
(“一定間隔でイベントを発生させる”では無い事に注意)
以下サンプル。
フォームに、Label/Button/Timer を貼っておいてください。
Public Class Form1
Private watch As New Stopwatch()
Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As EventArgs) Handles Timer1.Tick
Label1.Text = watch.Elapsed.ToString()
End Sub
Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
Button1.Text = "開始/停止"
Button2.Text = "リセット"
Timer1.Interval = 20
Timer1.Enabled = True
End Sub
Private Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
If watch.IsRunning Then
watch.Stop()
Else
watch.Start()
End If
End Sub
Private Sub Button2_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button2.Click
watch.Reset()
End Sub
End Class
上記の Timer1.Interval は、画面の再描画間隔を表します。お好みで調整してください。
投稿者 るしぇ  (社会人)
投稿日時
2009/1/19 20:24:50
初心者には Timer コンポーネント(デザイン画面でコントロールのように
貼り付けて使う)を使うほうが分かり易いかもしれません。
精度は悪いですが、サンプルコードもたくさん転がってるし。
> 調べてもわからなくて投稿しました。
Visual Basic 2005 のヘルプにも載っている内容ですし、
入門本にもサンプルコードが書いてあるような内容ですね。
何をどう調べたかを書き込むようにしてください。
調べ方が分からないのでは、すぐに次の壁にぶつかると思います。
貼り付けて使う)を使うほうが分かり易いかもしれません。
精度は悪いですが、サンプルコードもたくさん転がってるし。
> 調べてもわからなくて投稿しました。
Visual Basic 2005 のヘルプにも載っている内容ですし、
入門本にもサンプルコードが書いてあるような内容ですね。
何をどう調べたかを書き込むようにしてください。
調べ方が分からないのでは、すぐに次の壁にぶつかると思います。
投稿者 n  (社会人)
投稿日時
2009/1/19 19:21:59
System.Threading.Timer
投稿者 れい  (学生)
投稿日時
2009/1/19 16:28:27
はじめまして、大学生のれいです。
Visual Basic 2005ゲームでゲームを作っています。
勉強し始めたばかりなので、初歩的な質問だったら申し訳ないんですが…調べてもわからなくて投稿しました。
ゲーム内にカウントアップ(経過時間)をLabelで表示できるように設定するにはどうすればいいでしょうか??
教えてください!
Visual Basic 2005ゲームでゲームを作っています。
勉強し始めたばかりなので、初歩的な質問だったら申し訳ないんですが…調べてもわからなくて投稿しました。
ゲーム内にカウントアップ(経過時間)をLabelで表示できるように設定するにはどうすればいいでしょうか??
教えてください!
特に魔界の仮面弁士さんはすごく丁寧で、とても参考になりました。