Timer Event Tick disparou antes do evento Form_Load (VB.NET)
Eu tenho um formulário do Windows com o componente Timer, por padrão (design) o timer está ativado, mas com base em alguns argumentos enviados para o formulário desabilitar o timer em form_load.
Estou enfrentando um cenário muito estranho, o evento Timer_Tick é disparado algum dia antes mesmo do form_load ser acionado, isso acontece com o aplicativo minimizado por 20 minutos por exemplo, então eu abro o aplicativo e tento abrir nova forma, principalmente em sistemas lentos .
Código como segue:
'=============== 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)
Quando a exceção levantada, eu fecho a exceção tratada e tente abrir o formulário novamente, abra o formulário com Timer1 está desabilitado.
Eu sei que a solução é trivial, basta fazer o timer desativado por padrão, então ativado com base nos parâmetros, mas eu quero saber por que o Timer1_Tick algum dia é disparado antes OpenForm Sub e antes Form1_Load Sub !! ?
Muito obrigado pelo seu tempo. Sameh