プロが教えるわが家の防犯対策術!

Timerイベントについてですが、Interval = 1 に設定し、例えば下記のようなプログラムを動かした場合、

/*-------------------------------------------*/
Private Sub Form_Load(~~)~~

    Timer1.Start()

    Original() '自作プロシージャ

End Sub

Private Sub Timer1_Tick(~~)~~
    num += 1 'Publicで宣言してある
    if num > 100 then Timer1.Stop()
End Sub

/*-------------------------------------------*/

Original()の処理に移るのは、numが100より大きくなってTimer1がStopしてからでしょうか?
それとも、Timer1が動いている最中に、移ってるのでしょうか?

A 回答 (2件)

Timer1.Start()の直後です。

    • good
    • 0

> Original()の処理に移るのは、numが100より大きくなってTimer1がStopしてからでしょうか?


> それとも、Timer1が動いている最中に、移ってるのでしょうか?

どちらでもないです。
タイマー自体は動いている最中って言えば最中ですが、
Originalの処理に移るまでにTimer1_Tickが呼び出されることはありません。
Timer1_Tickが呼び出されるのはForm_Loadを抜けてからです。

#LoadイベントでDoEvent使うと悪魔が出そうなので触れずにおきます。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!