begin process at 2012 02 14 11:38:18
  Trouver un code source :
 
dans
 
Accueil > Forum > 

VB.NET et VB 2005

 > 

Divers

 > 

General

 > 

Correspondance PictureBox - Label


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Correspondance PictureBox - Label

lundi 10 juillet 2006 à 11:02:59 | Correspondance PictureBox - Label

kewan

Bonjour,

Voici une question (VB 2005 Express) qui paraitra certainement basique pour certains/certaines, mais je parviens toujours pas à régler ce problème:

Je dispose de 5 "label" et de 5 "picturebox". Lorsque la feuille se charge, je veux que:
- l'image 1 corresponde au label 1,
- l'image 2 corresponde au label 2,
- etc.

Autrement dit, par le code:

' Image 1
Dim Monimage1 As New Bitmap(My.Application.Info.DirectoryPath & "\Ecussons\" & Label1.Text & ".gif")
PictureBox1.Image = Monimage1
' Image 2
Dim Monimage2 As New Bitmap(My.Application.Info.DirectoryPath & "\Ecussons\" & Label2.Text & ".gif")
PictureBox2.Image = Monimage2
...

Cette méthode fonctionne (les images s'affichent et correspondent bien), mais ce n'est pas beau... surtout lorsqu'on dispose d'une quinzaine d'images! N'y aurait-il pas moyen de faire ça proprement, histoire de limiter le nombre de lignes?

lundi 10 juillet 2006 à 11:15:21 | Re : Correspondance PictureBox - Label

tof008

Membre Club

tu peux essayer de faire un group de controle avec les pictureBox. Et ensuite tu fais une boucle avec laquelle tu fais correspondre le num des images a l'index des pictureBox.

du style :
for i = 1 to 10

PictureBox1(i).Image = Monimage" & i & "

next i


(Si la réponse vous convient, appuyez sur réponse acceptée...)

Il y a plusieurs facon d'être con ,mais un con choisit toujours la pire < body>

lundi 10 juillet 2006 à 11:21:25 | Re : Correspondance PictureBox - Label

Renfield

Administrateur CodeS-SourceS
un groupe de controles, oui, d'accord....
on est en .Net !!!


Renfield
Admin CodeS-SourceS- MVP Visual Basic
lundi 10 juillet 2006 à 11:27:11 | Re : Correspondance PictureBox - Label

tof008

Membre Club

Autant pour moi Renfield ...Alors sans groupe de controle :
for i = 1 to 10

PictureBox" & i & ".Image = Monimage" & i & "

next i

Voila, maintenant je sais pas si ca marche avec .net, mais l'idée est là lol!




 


(Si la réponse vous convient, appuyez sur réponse acceptée...)

Il y a plusieurs facon d'être con ,mais un con choisit toujours la pire <>

lundi 10 juillet 2006 à 11:52:15 | Re : Correspondance PictureBox - Label

addamsmercredi

Réponse acceptée !

Voici un code permettant de faire cela (la méthode de tof008 ne fonctionne pas car VB 2005 n'est pas aussi simple que cela).

J'ai supposé que tous les Labels et PictureBox se trouvent sur la feuille, qu'il y a autant de Labels que de PictureBox et qu'il n'y en a pas d'autres servant à autre chose.

Pour ne pas avoir de problème, le mieux est de les mettre dans des conteneurs et de ne parcourir que les contrôles des conteneurs (ici pour l'exemple, je parcous tous les contrôles de la feuille).

  Dim labels As New List(Of Label)
  Dim pictures As New List(Of PictureBox)
  Dim ctl As Control
  Dim pic As PictureBox
  Dim i As Integer

  For Each ctl In Me.Controls
     If TypeOf (ctl) Is Label Then
        labels.Add(ctl)
     ElseIf TypeOf (ctl) Is PictureBox Then
        pictures.Add(ctl)
     End If
  Next

  i = 0
  For Each pic In pictures
     pic.Image = New Bitmap(My.Application.Info.DirectoryPath & "\Ecussons\" & labels(i).Text & ".gif")
     i += 1
  Next

lundi 10 juillet 2006 à 11:55:45 | Re : Correspondance PictureBox - Label

tof008

Membre Club
Bon c'est sur que par rapport à ton code addamsmercredi  le mien parait vraiment trop trop simple lol! Mais bon je me suis dit que si ca marchait avec vb, pourquoi pas avec vb 2005


(Si la réponse vous convient, appuyez sur réponse acceptée...)

Il y a plusieurs facon d'être con ,mais un con choisit toujours la pire<>

lundi 10 juillet 2006 à 12:04:46 | Re : Correspondance PictureBox - Label

Renfield

Administrateur CodeS-SourceS

euh....

PictureBox" & i & ".Image = Monimage" & i & "

ca fonctionne pas en VB6 non plus, tu sais ^^

Renfield
Admin CodeS-SourceS- MVP Visual Basic
lundi 10 juillet 2006 à 13:14:47 | Re : Correspondance PictureBox - Label

kewan

En laissant le code tel quel de Addamsmercredi, sur cette ligne:

pic.Image = New Bitmap(My.Application.Info.DirectoryPath & "\Ecussons\" & labels(i).Text & ".gif")

J'ai l'erreur suivante:

L'exception ArgumentException n'a pas été gérée
Le paramètre n'est pas valide.

Mais je pense que nous sommes sur le bon chemin...

lundi 10 juillet 2006 à 14:31:38 | Re : Correspondance PictureBox - Label

addamsmercredi

Réponse acceptée !

Cette erreur se produit si une image n'existe pas.
Ajoute le test

If My.Computer.FileSystem.FileExists(My.Application.Info.DirectoryPath & "\Ecussons\" & labels(i).Text & ".gif") Then
  pic.Image = New Bitmap(My.Application.Info.DirectoryPath & "\Ecussons\" & labels(i).Text & ".gif")
End If

J'ai mis ce code à titre d'exemple surtout pour donner une idée.
Mais pour l'utiliser tel quel, il faut être sûr, entre autre, qu'il n'y ait pas de Labels en trop qui n'ont rien à voir avec les images.
C'est pour cela que je conseille d'utiliser des conteneurs comme des Panels et d'adapter le code en conséquence.

lundi 10 juillet 2006 à 14:53:52 | Re : Correspondance PictureBox - Label

kewan

Merci beaucoup addamsmercredi, j'avais effectivement un petit problème au niveau du dossier contenant mes images. Ta solution marche très bien!


Cette discussion est classée dans : label, image, picturebox, correspondance, dispose


Répondre à ce message

Sujets en rapport avec ce message

garder dessin dans 1 picturebox avec scrollbar [ par philipoïde ] Nouveau venu en VB... je sêcheJe charge une image dans 1 picturebox. Il y a des scrollbars H et V car c'est une grosse image.Je dessine par dessus et, scroll bar pour pictubox [ par Fabiin ] Kan je charger une image ds une picturebox et ke celle-ci est plu grand ke la taille de la picturebox. comment dois-je faire pour utiliser des scroll sauvegarder le dessin d'un picturebox qui a été modifié [ par michel ] Voici mon problème:j'ai un controle PictureBox :Picture1Je charge une image Picture1.picture = loadpicture "c:\chemin\image.bmp"Je modifie l'image (no changer la taille d'une image rapidement, sans picturebox [ par seb ] Voilà, j'aimerais bien savoir comment reduire la taille d'une image sans recopier pixels par pixels toute l'image, simplement en connaissant la taille retourné une image mais pas dans une picturebox mais dans une image1.picture [ par toto ] retourné une image mais pas dans une picturebox mais dans une image1.picture car la fonction paint picture n'a pas l'air de marcher (image1.paintictur retourné une image non pas dans picturebox mais dans image1.picture [ par toto ] retourné une image non pas dans picturebox mais dans image1.picture car j'ai tout essayer et paintpicture ne marche pas (image1.paintpicture et tout l Comment kon fait pour modifier la taille d'une image dans un controle PictureBox ??? [ par sukhoi03 ] Qui peut me donner une solution pour modifier la taille d'une image (.JPG, .GIF, etc) afin de l'adaptée à la taille d'un cntrole PictureBox SANS MODIF rotation d'une image dans un Picturebox [ par David ] Recherche solution pour effectuer une rotation dans un angle voulue d'image contenue par un PictureboxMerci d'avance PictureBox avec zones d'images [ par lbs ] Existe-t-il un contrôle Image ou PictureBox capable de gérer les zones à l'intérieur d'une image comme en HTML (pour le survol à la souris évidement) Redimensionner une image dans une PictureBox [ par kraft ] Bonjour,J'ai créé picturebox ayant les dimensions suivantes:Picture1.Width = 4215Picture1.Height = 3255Comment faire pour qu'une image insérée aie ces


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,546 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales