2010-02-17 9 views
1

ce qui suit est un exemple de code de test, il peut-être pas être tout à fait correct:C# PictureBox.Image

 for (int i = 0; i < MAXCOL; i++) 
     { 
      for (int j = 0; j < MAXROW; j++) 
      { 
       HomeArrayPicBox[i, j].Image = Properties.Resources.scan; 
      } 
     } 

ma question est au lieu de tous PictureBoxes afficher la même image, je dois augmenter l'image aussi. par exemple. Properties.Resources.scan1, Properties.Resources.scan2 ...

veuillez indiquer comment faire pour cela.

merci.

Répondre

4

Vous pouvez obtenir un objet à partir d'un fichier des ressources par nom comme celui-ci:

HomeArrayPicBox[i, j].Image = 
    (Image)Properties.Resources.ResourceManager.GetObject("Scan" + i); 
+0

Je ne l'ai pas essayé avant ... juste curieux, avez-vous besoin de faire un transtypage ici en tirant l'objet de le gestionnaire de ressources? – Aaron

+0

Oui; Je l'ai oublié. Merci. – SLaks

+0

Je reçois une erreur: Impossible de convertir implicitement le type 'objet' en 'System.Drawing.Image'. Une conversion explicite existe (manque-t-il une distribution?) – iTEgg

0

Effectuez une analyse d'un tableau de ressources d'image et, à chaque itération, déterminez l'index correct de cette matrice pour remplir la zone d'image.

0

Vous pouvez placer tout l'objet image dont vous avez besoin dans un tableau. La longueur de ce tableau doit être MAXCOL * MAXROW. Je suppose que vous avez le même nombre d'images que les boîtes? Que vous pourriez itérer à travers ce tableau.