Fermeture de la fenêtre avec timer
Bonjour
Je ferme la fenêtre soit en cliquant sur un bouton ou soit en cliquant sur le X
Quand je clique sur le bouton je déclenche un timer pour donner effet de fondu.
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| Private Sub ToolStripButtonexit_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles ToolStripButtonexit.MouseDown
flagexit = True
Dim exitlogo As New Panel
exitlogo.BackgroundImage = My.Resources.exitlogo_fw
exitlogo.BackgroundImageLayout = ImageLayout.None
exitlogo.Size = My.Resources.exitlogo_fw.Size
Me.Controls.Add(exitlogo)
exitlogo.Location = New Point((ClientSize.Width - exitlogo.Width) \ 2, (ClientSize.Height - exitlogo.Height) \ 2)
exitlogo.BringToFront()
Timerclose.Interval = 1
Timerclose.Start()
End Sub |
Code:
1 2 3 4 5 6 7 8
| Private Sub Timerclose_Tick(sender As Object, e As System.EventArgs) Handles Timerclose.Tick
DirectCast(sender, Timer).Interval = 20
Me.Opacity -= 0.01
If Me.Opacity = 0 Then
DirectCast(sender, Timer).Stop()
Me.Close()
End If
End Sub |
c
jusqu'à la pas de problème
maintenant j'essaie de faire la même chose si je clique le X de la fenêtre
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| Private Sub Formpreface_FormClosed(sender As Object, e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
If flagquit And Not flagexit Then
Dim exitlogo As New Panel
exitlogo.BackgroundImage = My.Resources.exitlogo_fw
exitlogo.BackgroundImageLayout = ImageLayout.None
exitlogo.Size = My.Resources.exitlogo_fw.Size
Me.Controls.Add(exitlogo)
exitlogo.Location = New Point((ClientSize.Width - exitlogo.Width) \ 2, (ClientSize.Height - exitlogo.Height) \ 2)
exitlogo.BringToFront()
Timerclose.Interval = 1
Timerclose.Start()
End If
End Sub |
bien sur le timer n'est pas déclenché donc la fenêtre se ferme :(
Merci