Dri60
Messages postés68Date d'inscriptionlundi 24 décembre 2007StatutMembreDernière intervention17 novembre 2008
-
14 sept. 2008 à 20:31
Kevin.Ory
Messages postés840Date d'inscriptionmercredi 22 octobre 2003StatutMembreDernière intervention 7 janvier 2009
-
15 sept. 2008 à 14:42
Bonjour, en fait, je souhaiterais mettre une image à une Picturebox. Mais, le nom de cette picture box est contenu dans un String. J'avais pensé à ça :
Dim NouvImg
NouvImg = "Img" & ImgCol & "x" & ImgLigne
NouvImg.Image = Image.FromFile("House.png")
Mais il me dit que Image n'appartient pas à String. Existe t-il une alternative ? Merci
Dri60
Messages postés68Date d'inscriptionlundi 24 décembre 2007StatutMembreDernière intervention17 novembre 2008 14 sept. 2008 à 21:37
En fait, je voudrais appliquer une image à une picturebox, mais (en fait il y a plusieurs picturebox) le nom de la picturebox serait dans un String et je voudrais appliquer l'image à la picturebox mais vu que son nom est dans le String, je ne sais pas comment faire. (Comment j'explique mal )
Je vais essayer d'expliquer via un schéma :
Variable qui créé un String
*
String = Nom d'une Picturebox
*
Appliquer une image à la PictureBox
C'est pas très clair mais j'espère que vous comprendrez
Dri60
Messages postés68Date d'inscriptionlundi 24 décembre 2007StatutMembreDernière intervention17 novembre 2008 14 sept. 2008 à 22:39
Je prends un exemple : Imaginons que j'ai une variable V. Elle est égale à 3
Dim V As Integer
V = 3
Ensuite, j'ai 10 PictureBox (PictureBox1 , PictureBox2,...) et que donc pour obtenir le nom de la PictureBox3 (Vu que V = 3) je fait sa :
Dim NomPicBox As String
NomPicBox = "Picturebox" & V
Pour Finir, je veux que dans la Picturebox3 j'ai une image (Img.png) :
NomPicBox.Image = Image.fromfile(img.png)
Mais lorsque je mets NompicBox, il ne l'accepte pas car NomPicBox est un String. Et donc je souhaite savoir comment faire pour mettre une image dans cette Picturebox.
J'espère que c'est plus mieux clair
Kevin.Ory
Messages postés840Date d'inscriptionmercredi 22 octobre 2003StatutMembreDernière intervention 7 janvier 200911 15 sept. 2008 à 00:05
Salut Dri,
Il est plutôt compliqué de faire cette conversion String => Nom d'un contrôle, on est pas sur une TI-92
Plus simple:
1. Select Case
Select Case V
Case 1
PictureBox1.Image = Image.fromfile(img.png)
Case 2
PictureBox2.Image = Image.fromfile(img.png)
Case 3
PictureBox3.Image = Image.fromfile(img.png)
...
2. Un tableau si V peut être un index
Private PictureBoxes(9) As PictureBox = {PictureBox1, PictureBox2, PictureBox3, ...}
PictureBoxes(V).Image = Image.fromfile(img.png)
Ou une liste:
Private PictureBoxes As New List(Of PictureBoxes)
PictureBoxes.Add(PictureBox1)
PictureBoxes.Add(PictureBox2)
PictureBoxes.Add(PictureBox3)
...
PictureBoxes(V).Image = Image.fromfile(img.png)
3. Tu peux aussi retrouver ta PictureBox avec une chaine de caractère:
Private PictureBoxes As New Dictionary(Of String, PictureBoxes)
PictureBoxes.Add("ImageDeFond", PictureBox1)
PictureBoxes.Add("Décors", PictureBox2)
PictureBoxes.Add("Personage", PictureBox3)
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 15 sept. 2008 à 10:02
Salut,
Tu peux utiliser la collection Controls du formulaire?
Tu peux alors faire référence à TOUT les controls de la feuille par leur nom.
Exemple: un formulaire avec un bouton et des Picturebox nommées PictureBox1, PictureBox2, PictureBox3
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
I += 1
Dim TmpPic As PictureBox = Me.Controls("PictureBox" & I.ToString)
TmpPic.Image = Image.FromFile("C:\Bmp1024\Img.bmp")
End Sub<hr />, ----
[../code.aspx?ID=41455 By Renfield]
Dri60
Messages postés68Date d'inscriptionlundi 24 décembre 2007StatutMembreDernière intervention17 novembre 2008 15 sept. 2008 à 13:20
Merci pour toutes vos réponses En fait il y a 80 PictureBox donc lister les 80... je ferai en dernier recours Sinon j'ai une TI-83 +
Je vais essayer vos réponses et je vous tient au courant