Zdarzenie zegara Tick wystrzelony przed Form_Load Event (VB.NET)

Mam formularz Windows ze składnikiem Timer, domyślnie (projekt) timer jest włączony, ale na podstawie niektórych argumentów wysłanych do formularza wyłączam timer na form_load.

Stoję przed bardzo dziwnym scenariuszem, zdarzenie Timer_Tick jest czasami uruchamiane jeszcze przed uruchomieniem form_load, co ma miejsce w przypadku aplikacji zminimalizowanej na przykład na 20 minut, a następnie otwieram aplikację i próbuję otworzyć nowy formularz, szczególnie na wolnych systemach .

Kod w następujący sposób:

'=============== Code of the form with Timer
Public Sub OpenForm(SomeParams)
        'Set Form Properties
        Me.Show() 'Here the event Form_Load fired
End Sub

Private Sub Form_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
  'Some Code ...
  Timer1.Enabled = False/ True 'Based True or false based on parameters
 'Code ...
End Sub

Private Sub Timer1_Tick(sender As System.Object, e As System.EventArgs) Handles Timer1.Tick
  'Code here
  'The code raise error if form load is not fired, because need info from params ...
End Sub



'=============== Code in the calling form (MainForm)
'Calling the Form
dim obj As new Form1  'I think form this line the Timer1_Tick Fired, before load
obj.OpenForm(Params)

Gdy zgłoszony wyjątek zostanie zamknięty, zamykam obsługiwany wyjątek i próbuję ponownie otworzyć formularz, otwierając formularz z Timer1 jest wyłączony.

Wiem, że rozwiązanie jest trywialne, po prostu wyłącz zegar domyślnie, a następnie włącz go w oparciu o parametry, ale chcę wiedzieć, DLACZEGO Timer1_Tick kiedyś jest uruchamiany przed OpenForm Sub i Before Form1_Load Sub !! ?

Wielkie dzięki za twój czas. Sameh

questionAnswers(2)

yourAnswerToTheQuestion