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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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