Salut
Je travaille sur une appli dont une partie du traitement commence à prendre pas mal de temps de traitement. Pour éviter l'énervement et l'inquiétude des futurs utilisateurs, j'ai créé un formulaire d'attente (FormAttente) avec une jolie animation et j'ai déplacé le traitement long dans un backgroundworker.

Je déclare mon formulaire d'attente de la manière suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Friend FormAtt As New FormAttente
il est déclaré de manière "globale" car comme on peut le voir ci-après, je le lance dans une SUB et l'arrête dans une autre.

Dans la SUB associée au bouton Exécuter de mon formulaire:
- un petit peu de traitement
- le lancement de mon formulaire d'attente
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
' Affichage du formulaire d'attente
        FormAtt.Show()
- la préparation de données pour mon backgroundworker
- le lancement de mon backgroundworker

Dans la SUB liée à la fin de mon backgroundworker (le _RunWorkerCompleted):
- la récupération du traitement de mon backgroundworker
- la fermeture de mon formulaire d'attente
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
' Fermeture du formulaire d'attente
        FormAtt.Close()
Tout cela marche super bien lors du premier lancement du bouton Exécuter, mais je veux que l'on puisse relancer le traitement avec d'autres données d'entrée sans arrêter/relancer le code.
Il s'avère que si on réactive le traitement, j'ai une erreur au moment de l'ouverture du formulaire d'attente qui me signale
Impossible d'accéder à un objet supprimé
Je pense que mon problème vient du fait que le FormAtt.Close est plus ou moins l'équivalent de FormAtt = nothing. Du coup je ne vois pas trop comment m'en sortir.
J'ai bien essayé un FormAtt.Hide, mais je ne réussi pas a trouver l'événement associé dans le formulaire d'attente, du coup cela me pose des problèmes avec les Timer qui me servent pour l'animation que je ne sais pas réinitialiser lorsque je refais le FormAtt.Show.

Quelqu'un a une idée?
Merci