Savoir si une parti d'un control se trouve dans un autre control

Résolu
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 - 20 déc. 2012 à 10:29
foliv57 Messages postés 420 Date d'inscription vendredi 17 novembre 2006 Statut Membre Dernière intervention 15 juillet 2014 - 20 déc. 2012 à 13:27
Bonjour

Disons que j'ai deux panels pan1 et pan2
un est fixe et je déplace l'autre avec la souris
comment savoir à l'évenement pan2.mouseup
une parti de pan2 recouvre pan1

Merci

6 réponses

Utilisateur anonyme
20 déc. 2012 à 12:41
Oula...
Dim MonRectangleIntersection as rectangle = Rectangle.Intersect(Panel1.bounds,panel2.bounds)
3
Utilisateur anonyme
20 déc. 2012 à 12:43
A noter que s'il n'y a pas intersection, MonRectangleIntersection = Rectangle.Empty
3
foliv57 Messages postés 420 Date d'inscription vendredi 17 novembre 2006 Statut Membre Dernière intervention 15 juillet 2014 9
20 déc. 2012 à 13:27
Bonjour à tous,

Ou solution alternative :
Dim recouvre As Boolean = Me.Panel1.Bounds.IntersectsWith(Me.Panel2.Bounds)
3
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
20 déc. 2012 à 10:43
Bonjour,
A moins que VB.Net ne t'offre du plus simple à partir des régions (rectangles), ce qui, selon moi, ne serait pas finalement moins gourmand en ressources ( ! ) :
Un simple calcul arithmétique utilisant Left, Top, Width et Height.


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
20 déc. 2012 à 11:30
Bonjour
A moins que VB.Net ne t'offre du plus simple


oui justement je suis bloqué
private pan1,pan2 as new panel
dim reg as new region
reg = pan2.region
reg.Intersect(pan1.Region)


comment verifier la valeur de reg ?
0
Utilisateur anonyme
20 déc. 2012 à 12:39
Bonjour à tous les deux,

Sers toi plutôt de la classe Rectangle et de sa fonction Intersect :

Dim MonRectangleIntersection = Reactangle.Intersect(Panel1.bounds,panel2.bounds)
0
Rejoignez-nous