- ベストアンサー
VB.net(2005)でFormのLoadイベント処理について質問
- VB.net(2005)でFormのLoadイベント処理について質問です。設定時刻として9:00とし、formを起動した時刻が9時前なら何もせず、9時以降になれば処理を開始したいと思います。
- VB.net(2005)でFormのLoadイベント処理について質問です。現在時刻と設定時刻を比較し、9時以降になれば処理を開始したいと思います。
- VB.net(2005)でFormのLoadイベント処理について質問です。formを起動した時刻が9時前なら何もせず、9時以降になれば処理を開始するプログラムを作成したいと思います。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
お世話になります。 Form1 に Timer コントロールを貼り付けます。 以下のコードでどうでしょうか。 Public Class Form1 ''' <summary> ''' 処理 A を実行する時間 ''' </summary> ''' <remarks></remarks> Private m_startDatetime As DateTime = DateTime.MinValue Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load ' 処理 A を実行する時間を設定(Application 実行した日の 9 時) Me.m_startDatetime = New DateTime(DateTime.Today.Year, DateTime.Today.Month, DateTime.Today.Day, 9, 0, 0) Me.Timer1.Enabled = True Me.Timer1.Start() End Sub Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer1.Tick If DateTime.Now.ToString("yyyyMMddHHmmss") >= Me.m_startDatetime.ToString("yyyyMMddHHmmss") Then ' 指定した時刻以降の時刻になったら ' Timer を止める Me.Timer1.Stop() Me.Timer1.Enabled = False ' 処理 A 実行 Me.A() End If End Sub ' 処理 A Private Sub A() MessageBox.Show("A") End Sub End Class
その他の回答 (1)
- samtomsan
- ベストアンサー率55% (1060/1897)
DoかWhileを使って9時を過ぎるまで無限ループで待っていて、無限ループを抜け出したら処理Aを行なうようにすれば良いのでは。 無限ループの中ではSleepで待ち時間とDoEventsを実行して、他のプログラムに実行が渡せるように工夫をしておいた方が良いですが。