- - PR -
Timer intervalについて
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-10-07 13:17
色々試している初心者です。
下記のプログラムはVS.NETの例題からコピーしてきましたが、Timer1_Tickプロセスを2分ごとに実行するようにしたいのですが、どのようになおしたらいいかご教授願います。 処理の中身は、カウンターの値を1から10まで表示して、2分後に又1から10のカウンター値を表示できればいいと思っています。 (プログラム) ' 例 2 'この例では、ループが終了するまでの間、プロシージャが 600 ミリ秒ごとに実行されます。次のコードでは、フォームに Button1 という名前の Button コントロール、Timer1 という名前の Timer コントロール、および Label1 という名前の Label コントロールがあると仮定しています。 ' Visual Basic ' This variable will be the loop counter. Private counter As Integer Private Sub InitializeTimer() ' Run this procedure in an appropriate event. counter = 0 Timer1.Interval = 600 Timer1.Enabled = True End Sub Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer1.Tick If counter >= 10 Then ' Exit loop code. Timer1.Enabled = False counter = 0 Else ' Run your procedure here. ' Increment counter. counter = counter + 1 Label1.Text = "Procedures Run: " & counter.ToString End If End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click If Button1.Text = "Stop" Then Button1.Text = "Start" Timer1.Enabled = False Else Button1.Text = "Stop" Timer1.Enabled = True End If End Sub | ||||
|
投稿日時: 2004-10-07 15:10
>Timer1_Tickプロセスを2分ごとに実行するようにしたいのですが、
>どのようになおしたらいいかご教授願います。 >処理の中身は、カウンターの値を1から10まで表示して、2分後に又1から10の >カウンター値を表示できればいいと思っています。 すみません。日本語が理解できません。 >Timer1.Interval = 600 Timer1.Interval = 1000 * 60 * 2 '2分 で解決するのでしょうか? これだと2分おきに1・2・・・・10となります。 違う意図であれば、また質問を追加してください。 _________________ えムナウ Microsoft MVP for Visual Developer - C#,2005/01-2007/12 えムナウのプログラミングのページ Blog1 Blog2 | ||||
|
投稿日時: 2004-10-07 16:36
質問の意図を汲み取っていただきありがとう御座います。私がやりたいことはご指摘の通りです。えムナウさんの言うとおりTIMER1.INTERVALの指定したサイクルで表示するのかなぁと思っていましたが、INTERVALの時間を無視して処理するみたいです。2分おきに1・2・・・・10となってくれるのが希望です。TIMER1.INTERVALの数字を変えても表示する間隔がかわらないのです。
[ >Timer1.Interval = 600 Timer1.Interval = 1000 * 60 * 2 '2分 で解決するのでしょうか? これだと2分おきに1・2・・・・10となります。 違う意図であれば、また質問を追加してください。 | ||||
|
投稿日時: 2004-10-07 17:38
Formに貼り付けたTimer1のプロパティでTimer1.Enabled はFalseになっていますか?
Timer1.Enabled の 初期値の意味です。 Private Sub InitializeTimer() はどこで呼んでいますか? 以下の場所で呼んでやればいいと思いますが・・・ Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click If Button1.Text = "Stop" Then Button1.Text = "Start" Timer1.Enabled = False Else Button1.Text = "Stop" InitializeTimer() End If End Sub _________________ えムナウ Microsoft MVP for Visual Developer - C#,2005/01-2007/12 えムナウのプログラミングのページ Blog1 Blog2 | ||||
|
投稿日時: 2004-10-07 18:28
ありがとう御座いました。
正常に動作しました。原因は、InitializeTimer()が組み込まれていませんでした。HELPの例題をそのままコピーしてきて実行していましたので、例題に間違いがないと思っていましたが、その先入観が怪我のもとでした。大変ありがとう御座いました。 | ||||
|
投稿日時: 2004-10-07 19:08
どこの例題を参考にしましたか?MSDNにある例は、どれもInitializeTimer()という関数は定義されていませんでした。 あと、「このプロパティ、メソッドは何をする物なのだろうか」ということを考える癖を付けましょう。 _________________ |
1