Bonjour,
Je créée des PictureBox a partir d'un bouton.(dim Pic as new picturebox => Pic1, Pic2, Pic3....)
J'enregistre leurs positions dans un .INI
Un handles mouseup me permet de les faires bouger (il sait quelle picturebox bouge grâce au "sender").
Un coin de l'écran me permet de supprimer une picturebox.(Me.Controls.Remove(sender))
Quand je supprime la picture cela remet a jour mon point INI pour que le nom soit à la suite
(Pic1, <strike>Pic2</strike>,Pic3=>Pic1,Pic2)
Mon .INI fait c'est réglage correctement en suprimant les paramètres voulu mais sur ma fenetre je n'arrive pas a dire
que Pic3 devient Pic2... Je suis obligé de redémarrer mon programme. Et si jessaie de bouger pic3 après la suppression de pic2 le programme plante.
Comment faire pour qu'il detecte bien que mon Pic3 est devenu Pic2???
Sinon Comment puis-je faire pour supprimer un Pic en ligne de code?
j'ai essayé : me.controls.remove(CType("Pic" & i , PictureBox)) (i étant un le numéro de Pic voulu numéro) mais cela ne marche pas.
Si ta form ne contient que des picturebox créé dynamiquement tu peux faire
'Supprime le dernier élément créé du formulaire
Me.Controls.RemoveAt(Me.Controls.Count - 1)
Sinon pour supprimer un cotrôle à partir d'une procédure évenementielle de celui-ci :
'Dans le cas ou "sender" est le PictureBox
Dim index As Integer = Me.Controls.IndexOf(sender)
Me.Controls.RemoveAt(index)
Pour retrouver un comtrôle d'après son nom de nimporte ou dans la feuille:
Dim pBox As PictureBox = Me.Controls("pic" & i)
'les contrôles ayant été déclaré‚ avec le nom "pic" comme suit:
Dim _pBox As New PictureBox
_pBox.Name = "pic" & Me.Controls.Count
Me.Controls.Add (_pBox)
Au faite ce que je voudrais c'est pouvoir supprimer le dernier PictureBox créée, j'ai essayé:
Controls.remove("pic" & i) i étant le numéro du dernier PictureBox créée!!!
Controls.remove(Ctype("pic" & i, PictureBox))
Controls.remove(Ctype("pic" & i, PictureBox).name)
Controls.remove(sender+i-sender)