Exception: le Paramètre n'est pas valide (sur l'adoption d'une nouvelle image pour un contrôle pictureBox)

J'avais déjà une image à l'intérieur de contrôle PictureBox, et maintenant je veux passer un nouveau.

Ce qui se passe, c'est que allpication Dispose (et j'ai attraper une exception: "Paramètre n'est pas valide").

C'est mon code:

            using (Image img = Image.FromFile(open.FileName))
            {
                part.Picture = img;
                pictureBox1.InitialImage = null;
                pictureBox1.Image = img;
            }    

Ainsi, lorsque le code est en dehors de la méthode, il va streight à Displose du présent et du formulaire principal. J'attrape l'exception seulement sur la ligne où Form1 a été commencé. Sur ce point il n'y a pas de excpetions, afin que jamais.
Il doit être quelque chose de mal tandis que la pictureBox est de la peinture (à l'intérieur de la Peinture de l'événement), mais je ne suis pas surbsribed.

Je n'ai plus la moindre idée de comment salve de cette question. J'ai même essayé de l'utiliser pour effacer toutes les ressources (par l'appel de la collecte des ordures), mais rien ne semble fonctionner.


Une chose de plus: "partie" est une référence de la Liste, de sorte que lorsque je tente de Supprimer l'image actuelle (pour la remplacer par une neuve) j'ai eu une autre exception, comme:

"Le processus ne peut pas accéder au fichier car ce fichier est utilisé par un autre processus".


N'cela a quelque chose à voir avec le 1er exception (lors de la nouvelle image n'est pas peinte dans pictureBox)?

Pouvez-vous s'il vous plaît poster la méthode complète qui contient le code de l'Image que vous souhaitez passer.. c'est très facile à fixer, mais je voudrais voir le premier code, de sorte que je ne pas vous fournir une solution incorrecte..
Devrait pictureBox1.Image = img;GC. être pictureBox1.Image = img;? Qu'est-ce que part? Quelle est l'exception levée? Est-il une trace de la pile avec de l'exception?

OriginalL'auteur Mitja Bonca | 2012-10-01