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

Résolu
cs_ShayW
Messages postés
3258
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
236
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
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
56
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