Meilleur auteur de réponses
Gestion de PictureBox dynamique en vb2010

Question
-
Bonjour,
c'est ma 1ere intervention sur un site d'échange
je me forme sur vb2010 et je voudrais afficher dynamiquement des picturebox dans une picturebox figée.
ex : picturebox figée représentant un plan de ville et des picturebox dynamiques représentant des symboles de direction.
suivant le trajet les symboles sont plus ou moins nombreux, et doivent avoir toutes les fonctions de l'objet
j'ai fait :
Dim cpt(100) as PictureBox
' boucle sur nb de symboles associés au trajet
for i=1 to NbSymb
cpt(i) = new PictureBox
cpt(i).left = X ' coordonnée
cpt(i).top = Y ' coordonnée
cpt(i).visible = True
cpt(i).BringToFront()
Next
Le problème est que je ne vois que le dernier symbole traité !
merci de votre aide, elle me permettra de ne pas m'arracher les cheveux ...
Réponses
-
Bonjour, en fait c’était plus une erreur de codage (manque de pratique)
voici ce qui marche :
Dim cpt(100) as PictureBox
' boucle sur nb de symboles associés au trajet
For i = 1 To NbSymb
cpt(i) = new PictureBox
Me.Controls.Add(cpt(i))
cpt(i).left = X ' coordonnée
cpt(i).top = Y ' coordonnée
cpt1(i).Visible = True
cpt1(i).BringToFront()
Nextmerci
Cordialement
- Marqué comme réponse Nina ZaekovaMicrosoft contingent staff, Moderator vendredi 24 avril 2015 07:17
Toutes les réponses
-
Bonjour,
Au lieu d'utiliser x images, vous pouvez en utiliser une et dessiner dessus.
Par exemple en C#, utilisez l'évênement Paint pour dessiner les panneaux.
private void PICTBOXplan_Paint(object sender, PaintEventArgs e)
{
System.Drawing.PointF l_Pt1 = new System.Drawing.PointF(1.0F,10.0F);
System.Drawing.PointF l_Pt2 = new System.Drawing.PointF(1.0F,10.0F);
System.Drawing.Font l_Fonte = new System.Drawing.Font("BankGothic Lt BT", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
//Faire x fois en changeant les coordonnées ...
e.Graphics.DrawLine(new Pen(Color.BlueViolet, 2.0F), l_Pt1, l_Pt2);
e.Graphics.DrawString("sens unique", l_Fonte, new SolidBrush(Color.CadetBlue), 10, 10);
}L'objet Graphics contient beaucoup de fonction de dessin.
e.Graphics.DrawPath
e.Graphics.DrawRectangle
e.Graphics.DrawPolygon
e.Graphics.DrawPieCordialement
Gérard- Proposé comme réponse Yan Grenier - MTFC mardi 7 avril 2015 13:19
-
Bonjour Buvard,
Est-ce que vous avez testé la solution proposée? Merci de partager avec nous les résultats, afin que d'autres personnes avec le même problème puissent profiter de cette solution.Cordialement,
NinaMicrosoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.
-
Bonjour, en fait c’était plus une erreur de codage (manque de pratique)
voici ce qui marche :
Dim cpt(100) as PictureBox
' boucle sur nb de symboles associés au trajet
For i = 1 To NbSymb
cpt(i) = new PictureBox
Me.Controls.Add(cpt(i))
cpt(i).left = X ' coordonnée
cpt(i).top = Y ' coordonnée
cpt1(i).Visible = True
cpt1(i).BringToFront()
Nextmerci
Cordialement
- Marqué comme réponse Nina ZaekovaMicrosoft contingent staff, Moderator vendredi 24 avril 2015 07:17