Visual Studio Controls.Add problème

Résolu
bubbathemaster Messages postés 339 Date d'inscription dimanche 26 janvier 2003 Statut Membre Dernière intervention 25 mars 2009 - 4 mars 2008 à 19:17
cs_clairedelune Messages postés 5 Date d'inscription mercredi 15 novembre 2000 Statut Membre Dernière intervention 14 avril 2009 - 5 mai 2008 à 13:11
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

Nikoui Messages postés 794 Date d'inscription vendredi 24 septembre 2004 Statut Membre Dernière intervention 19 août 2008 13
5 mars 2008 à 10:01
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
3
bubbathemaster Messages postés 339 Date d'inscription dimanche 26 janvier 2003 Statut Membre Dernière intervention 25 mars 2009 4
5 mars 2008 à 16:23
"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.
0
cs_clairedelune Messages postés 5 Date d'inscription mercredi 15 novembre 2000 Statut Membre Dernière intervention 14 avril 2009
5 mai 2008 à 13:11
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 .
0
Rejoignez-nous