• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VB.net(2005)でFormのLoadイベント処理について質問で)

VB.net(2005)でFormのLoadイベント処理について質問

このQ&Aのポイント
  • VB.net(2005)でFormのLoadイベント処理について質問です。設定時刻として9:00とし、formを起動した時刻が9時前なら何もせず、9時以降になれば処理を開始したいと思います。
  • VB.net(2005)でFormのLoadイベント処理について質問です。現在時刻と設定時刻を比較し、9時以降になれば処理を開始したいと思います。
  • VB.net(2005)でFormのLoadイベント処理について質問です。formを起動した時刻が9時前なら何もせず、9時以降になれば処理を開始するプログラムを作成したいと思います。

質問者が選んだベストアンサー

  • ベストアンサー
  • nn1102
  • ベストアンサー率80% (12/15)
回答No.1

お世話になります。 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)
回答No.2

DoかWhileを使って9時を過ぎるまで無限ループで待っていて、無限ループを抜け出したら処理Aを行なうようにすれば良いのでは。 無限ループの中ではSleepで待ち時間とDoEventsを実行して、他のプログラムに実行が渡せるように工夫をしておいた方が良いですが。