Visual Studio Controls.Add problème

[Résolu]
Signaler
Messages postés
339
Date d'inscription
dimanche 26 janvier 2003
Statut
Membre
Dernière intervention
25 mars 2009
-
Messages postés
5
Date d'inscription
mercredi 15 novembre 2000
Statut
Membre
Dernière intervention
14 avril 2009
-
Bonjour,

J'ai un problème assez ennuyeux avec Visual Studio et le code qui se génère tout seul avec un controle.

Pour faire simple:
J'ajoute un groupbox sur une form
Puis je met une picturebox dans ce groupbox
Enfin, je met un autre picturebox dans l'autre picturebox (avec transparent, c'est le but de la manip: superposer 2 images)

Problème: par défaut Visual Studio ajoute la 2nd picturebox dans le groupbox. Probleme que je résous en modifiant le code auto et en ajoutant la picturebox2 dans l'autre plutot que dans le groupbox, ie:
PictureBox1.Controls.Add(PictureBox2);
au lieu de
GroupBox1.Controls.Add(PictureBox2);

Tout ca est merveilleux, mais Visual Studio est borné: des que je bouge la picturebox2 en la trainant d'un pixel à la souris, il l'a recase dans le groupbox, alors que si je la bouge en modififiant sa propriété "position", la picturebox2 reste dans la picturebox1...

Comment faire comprendre à VS que la picturebox2 DOIT etre dans la 1 et qu'il arrête de prendre l'initiative de la recaser dans le groupbox?

3 réponses

Messages postés
794
Date d'inscription
vendredi 24 septembre 2004
Statut
Membre
Dernière intervention
19 août 2008
10
Ca ne résoudra pas complètement ton problème, mais plutôt que de modifier le code pour faire ce que tu veux faire, tu peux utiliser la "Document View" (ou "Document Layout" ?) : il s'agit d'un composant de VS qui t'affiche les composants graphique de ta Form de façon hiérarchique et qui te permet de les déplacer facilement dans la hiérarchie (pour mettre par exemple ta picture dans ton autre picture box si VS te la remet sous le GroupBox).

Il me semble que ce composant n'est pas affiché par défaut, il faut donc le faire explicitement (dans le même menu que celui ou tu affiche/masque le "Solution explorer" par exemple, peut être dans une sous catégorie "Other" - désolé par de VS sous la main pour te guider mieux...)


Working as designed
www.nikoui.fr
Messages postés
339
Date d'inscription
dimanche 26 janvier 2003
Statut
Membre
Dernière intervention
25 mars 2009
5
"Document Outline"

Merci je connaissais pas :)
Pour régler le probleme j'ai mis la 1ere image dans un panel en tant que background image ceci dit; Avec un panel les controles fils restent attachés dessus contrairement à une picturebox.
Messages postés
5
Date d'inscription
mercredi 15 novembre 2000
Statut
Membre
Dernière intervention
14 avril 2009

Juste une remarque qui complète la solution proposée par Nikoui : sous .Net, le control pictureBox n'est pas un conteneur !!!!
Entre VB6 et .Net il a perdu des plumes sans nous en avertir !!!

On a beau courir, on revient toujours à la source .