Nom d'une picturebox dans un String

Dri60 Messages postés 68 Date d'inscription lundi 24 décembre 2007 Statut Membre Dernière intervention 17 novembre 2008 - 14 sept. 2008 à 20:31
Kevin.Ory Messages postés 840 Date d'inscription mercredi 22 octobre 2003 Statut Membre Derniè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

13 réponses

gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
14 sept. 2008 à 21:31
pourrais tu t'expliquer un peu mieux parce que j'ai jamais vu une picturebox dansun string

Bonjour chez vous !
0
Dri60 Messages postés 68 Date d'inscription lundi 24 décembre 2007 Statut Membre Dernière intervention 17 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
0
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
14 sept. 2008 à 22:00
picturebox.image=image.fromfile("blabla.bmp")
je vois pasle rapport avec un string

Bonjour chez vous !
0
Dri60 Messages postés 68 Date d'inscription lundi 24 décembre 2007 Statut Membre Dernière intervention 17 novembre 2008
14 sept. 2008 à 22:03
Et bien le nom de la picturebox (Picturebox dans ton exemple) est contenu dans le String

 Dri60
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
14 sept. 2008 à 22:17
et à quoi ça sert ??

Bonjour chez vous !
0
Dri60 Messages postés 68 Date d'inscription lundi 24 décembre 2007 Statut Membre Dernière intervention 17 novembre 2008
14 sept. 2008 à 22:19
Bah en fait le nom dans le string est composé d'une variable et c'est pour sa, si il n'y avait pas de variable sa servirait à rien

 Dri60
0
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
14 sept. 2008 à 22:31
c'est drôle mais plus tu m'expliques et moins je comprends

Bonjour chez vous !
0
Dri60 Messages postés 68 Date d'inscription lundi 24 décembre 2007 Statut Membre Dernière intervention 17 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

 Dri60
0
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
15 sept. 2008 à 00:04
fais un array de picturebox au lieu de chipoter avec des string
regarde cette source j'utilise un array de textbox

http://www.vbfrance.com/codes/AGENDA-TOUT-SIMPLE-NO-DATABASE_47574.aspx

    savefile()
<li>        Dim tb() As TextBox = {TextBox0, TextBox1, TextBox2, TextBox3, TextBox4, TextBox5, TextBox6, TextBox7, TextBox8, TextBox9, TextBox10, TextBox11, TextBox12}
</li><li>
</li><li>        For x = 0 To 12
</li><li>            tb(x).text = String.Empty
</li><li>        Next

Bonjour chez vous !</li>
0
Kevin.Ory Messages postés 840 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 7 janvier 2009 11
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)

...
PictureBoxes("Décors").Image = Image.fromfile(img.png)

   
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
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]

@+: Ju£i€n
Pensez: Réponse acceptée
0
Dri60 Messages postés 68 Date d'inscription lundi 24 décembre 2007 Statut Membre Dernière intervention 17 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

 Dri60
0
Kevin.Ory Messages postés 840 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 7 janvier 2009 11
15 sept. 2008 à 14:42
Ah oui, suis-je bête

Merci jrivet de me rappeler ceci
0
Rejoignez-nous