NHenry
Messages postés15069Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention29 mai 2023158 10 févr. 2010 à 21:04
Bonjour,
"est ce que c'est possible d'afficher plusieurs images sur un windows form en miniatures, et en cliquant dessus, sa s'ouvre dans une autre fenétre ??? "
Oui.
Plusieurs PictureBox ou alors en manipulant le dessin d'une zone graphique par exemple.
Pour le clic, tu as le MouseUp et Down pour connaitre le point cliqué.
"j'ai déja éssayé avec un picturebox, mais j'arrive pas a changer l'image, elle reste statique, j'arrive pas à jouer sur les index... "
En .NET, il y a pas d'index ...
Si ton code pose pb, il faut nous en montrer un minimum pour voie pourquoi ;)
NHenry
Messages postés15069Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention29 mai 2023158 11 févr. 2010 à 20:20
Bonsoir,
Dans ce cas, préfère faire un contrôle personnalisé qui, lui, gèrera les PictureBox (par des évènements pour les clics).
Ensuite, préfère utiliser la création dynamique des contrôles, ça sera plus propre et largement plus maintenable.
Pour ce dernier point, regarde comment c'est fait dans le fichier :
NomForm.Designer.VB
cs_powerwave
Messages postés8Date d'inscriptionjeudi 28 mai 2009StatutMembreDernière intervention20 août 2010 10 févr. 2010 à 23:59
Merci bien pour ta réponse, sa m'a beaucoup aidé :P, ça faisait 3 jours que je galère de forum à un autre, et personne ne m'avait répondu o_O"
pour tout mettre sur un picturebox et naviguer entre les images, j'ai utilisé une imagelist avec, la seule contrainte c'est la résolution, le maximum est de 256;256
exemple:
Module Module1
Public P As Integer
Public max1 As Integer = Form1.ImageList1.Images.Count - 1
End Module
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
PictureBox1.Image = ImageList1.Images(0)
End Sub
Private Sub Suivante_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If P < max1 Then
P = P + 1
PictureBox1.Image = ImageList1.Images(P)
End If
End Sub
Private Sub Précédente_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
If P > 0 Then
P = P - 1
PictureBox1.Image = ImageList1.Images(P)
End If
End Sub
End Class
en ce qui concerne les miniatures, ça marche tout à fait comme tu l'as décrit, un picturebox et PictureBox1_MouseDoubleClick(...) Handles PictureBox1.MouseDoubleClick
Form2.Show()
End Sub
ce qui est bien avec,c'est que on a la résolution qu'on désire, par contre j'ai presque 120 images à intégrer :s, ça va me prendre des jours si je le fais manuellement
je suppose qu'il faut créer une classe qui s'en-chargera ou une function peut être, mais comme je suis un noob, je suis obligé de me contenter du 256x256
cs_powerwave
Messages postés8Date d'inscriptionjeudi 28 mai 2009StatutMembreDernière intervention20 août 2010 11 févr. 2010 à 11:48
mais mdrrrrrrr, c tout con enfaite
Private Sub PB_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles PictureBox1.DoubleClick, PictureBox2.DoubleClick, PictureBox3.DoubleClick, PictureBox4.DoubleClick, PictureBox5.DoubleClick, PictureBox6.DoubleClick, ...
Form2.PictureBox1.Image = sender.image
Form2.Show()
End Sub
il reste juste la partie de l'affectation des images aux pictureboxs sur le premier form à faire en manuel :)