morickno
Messages postés117Date d'inscriptionvendredi 22 avril 2005StatutMembreDernière intervention26 juin 2007
-
23 mai 2006 à 13:58
alicvb
Messages postés134Date d'inscriptionvendredi 19 mars 2004StatutMembreDernière intervention 6 juin 2007
-
23 mai 2006 à 18:15
Bonjour,
Dans un panel d'une form, j'ai des picture box positionnées aléatoirement. Le but est de savoir s'il y à une picture box au point X;Y que je connai.
Comment peut t'on tester la présence d'un contrôle picture box à ce point X;Y
JB76000
Messages postés135Date d'inscriptionvendredi 4 juin 2004StatutMembreDernière intervention14 février 2013 23 mai 2006 à 16:45
Je ne connais pas .net mais je pense simplement en regardant si
picturebox1.left < X < picturebox1.picturebox1.left + picturebox1.width
picturebox1.top < Y < picturebox1.top + picturebox1.height
pareil pour chaque picturebox
morickno
Messages postés117Date d'inscriptionvendredi 22 avril 2005StatutMembreDernière intervention26 juin 2007 23 mai 2006 à 17:59
J'ai une solution similaire.
Le problème c'est que lorsque j'ai plusieurs de picture box, je suis obligé de toutes les tester et arriver à 300 picture box je ne pense pas que ca optimise bien.
C'est pour cela que je recherche une fonction qui me retoure true ou false si à ces points, il y a déja un contrôle. Ansi j'ai 1 ligne de code au lieu de 300
alicvb
Messages postés134Date d'inscriptionvendredi 19 mars 2004StatutMembreDernière intervention 6 juin 20071 23 mai 2006 à 18:15
Et pour parcourir tous les picturebox de ton Panel (PA) tu peux faire :
Dim c as control
for each c in pa.controls
If c.getype.tostring = "System.Windows.Forms.PictureBox" then
if c.left<.... enfin comme le post précédent, quoi
end if
next
Autre solution, mais j'ai jamais testé :
PA.GetchildatPoint qui te retourne le controle présent à un point donné. Tu n'as plus qu'à tester ensuite si c'est bien un pictureBox avec une condition comme celle ci-dessus.