gracias por la respuesta y si habia pensado en usar TIMER, pero lo hice con tres, me resulta pero en el final cae en un loop, la verdad es que nose por que pasa esto, si alguien podria ayudarme. Envío el codigo
Public Class FRMinicio
Private Sub FRMinicio_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'inicio con el form minimizado
Me.WindowState = FormWindowState.Minimized
'Establezco las propiedades de los Timer y comienzo y comienzo el conteo
Me.TMRdescanso.Stop()
Me.TMRinicio.Stop()
Me.TMRmensaje.Stop()
With Me.TMRinicio
.Interval = 1000
.Enabled = True
.Start()
End With
End Sub
Private Sub TMRinicio_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles TMRinicio.Tick
'variable estática que almacenará
'su valor cada vez que entra en este evento
Static Contador As Integer
If Contador = 1 Then 'al segundo quiero que le form se oculte
'Paramos el control Timer
TMRinicio.Stop()
'Lo deshabilito para asegurar que ya no esta correindo
TMRinicio.Enabled = False
'oculto el form
Me.Visible = False
'ejecuto el segundo timer
With Me.TMRmensaje
.Interval = 1000
.Enabled = True
' .Start()
End With
Me.TMRdescanso.Stop()
Else
'Incrementamos en una unidad la variable estática
Contador = Contador + 1
End If
End Sub
Private Sub TMRmensaje_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TMRmensaje.Tick
Static Contador As Integer
If Contador = 20 Then 'EN ESTE CASO SOLO LO dejo 20 SEG PARA EJEMPLO el form debe aparecer a los 20 segundos de iniciado WIndows
'este form se maximiza y lemuestra un mensaje al usuario
TMRmensaje.Stop()
TMRmensaje.Enabled = False
Me.Visible = True
Me.WindowState = FormWindowState.Maximized
''ejecuto el tercer TIMER que es el que controla el tiempo en que el FORM este maximizado
With Me.TMRdescanso
.Interval = 1000
.Enabled = True
.Start()
End With
' LimpiaContador()
Else
Contador = Contador + 1
End If
End Sub
Private Sub TMRdescanso_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TMRdescanso.Tick
Static Contador1 As Integer
If Contador1 = 10 Then '1200 los 20 minutos: AMODO DE EJEMPLO LO DEJO EN 10 SEG.
'ESTE FORM DEBERIA PERMANECER MAXIMIZADO POR 10 SEG. luego de esto deberia volver a minimizarze
TMRdescanso.Stop()
TMRdescanso.Enabled = False
Me.Visible = False
'Me.WindowState = FormWindowState.Maximized
'vuelve a llamar al Timer ANterior
With Me.TMRmensaje
.Interval = 1000
.Enabled = True
'.Start()
End With
TMRdescanso.Stop()
Else
Contador1 = Contador1 + 1
End If
End Sub
End Class