Garder l'echelle lors d'un resize [Résolu]

Messages postés
144
Date d'inscription
samedi 21 octobre 2000
Statut
Membre
Dernière intervention
7 mai 2009
- - Dernière réponse : Tuizi
Messages postés
144
Date d'inscription
samedi 21 octobre 2000
Statut
Membre
Dernière intervention
7 mai 2009
- 11 sept. 2006 à 20:04
Bonjour,
Voila, je suis tomber sur un problème qui me fait m'arracher les cheveux

Je m'explique:

J'ai une pictureBox qui contient une grande image (SizeMode = Zoom), on va dire que c'est notre image de fond, et par dessus je peux déplacer une autre picturebox.
Le problème est que lorsque je passe en SizeMode = AutoSize, je voudrais que les coordonnées de la deuxieme picturebox soit mis- à l'echelle :s

J'ai bien essayer de jouer avec les pourcentage d'agrandissement ou de diminution, mais ça me sort des resultat farfelut !!!

Help!

Tuizi
Afficher la suite 

16/36 réponses

Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
43
0
Merci
Pour que ça marche en fait, faut mettre le dock du TableLayoutPanel à Fill...

VC# forever
Commenter la réponse de cs_Bidou
Messages postés
144
Date d'inscription
samedi 21 octobre 2000
Statut
Membre
Dernière intervention
7 mai 2009
0
Merci
A oui interessant!!! il faut que j'adapte ça avec mes images!

Tuizi
Commenter la réponse de Tuizi
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
43
0
Merci
Donc pour finir, ça répond à ta question ou pas?

VC# forever
Commenter la réponse de cs_Bidou
Messages postés
144
Date d'inscription
samedi 21 octobre 2000
Statut
Membre
Dernière intervention
7 mai 2009
0
Merci
Bah j'arrive pas a faire exactement ce que je veux car, le bouton reste tout le temps à sa place je ne peux pas le placer ou je veux, si je le déplace il reveint à sa position initiale, donc j'ai regardé en suppriment les informations dans le Anchor du bouton (car il est en haut à gauche du cadre) et ça me le met au milieu du cadre maintenant :s


Donc pas trop le temps d'aprofondir pour le moment, mais il doit y avoir une possibilité je pense.

Tuizi
Commenter la réponse de Tuizi
Messages postés
144
Date d'inscription
samedi 21 octobre 2000
Statut
Membre
Dernière intervention
7 mai 2009
0
Merci
Ouais nan avec les conteneurs et la propriété Anchor impossible de faire quelque chose c'est des position automatique (left, right, bottom, etc...) je peux pas positionner le composant ou je veux.

Tuizi
Commenter la réponse de Tuizi
Messages postés
33
Date d'inscription
dimanche 15 mai 2005
Statut
Membre
Dernière intervention
14 janvier 2016
1
0
Merci
Salut tout le monde,
Je débute le C# depuis 3 Jours a peine, mais je peux aider quand même .

(Je suis entrain de me faire un p'tit catalogue a CD perso qui va bien, comme je trouve rien d'alléchant sur la toile ... autant que je m'en fasse un qui va bien, ça changera de Dev pour le Web )

Pour ancrer ton bouton, utilise Anchor de cette façon =>

MonBouton.Anchor = (AnchorStyles.Right | AnchorStyles.Bottom); /* Bouton vérouiller en bas à droite */
MonBouton.Anchor = (AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right | AnchorStyles.Bottom); /* Bouton vérouiller au quatre coin de la fenêtre */

Même si les valeurs Top et Left sont défnis, le bouton se positionnera à l'échelle de la fenêtre sans aucun calcul.

Si tu veux plus d'information, base toi sur l'aide de Visual Studio qui va bien a cette adresse =>
ms-help://MS.VSExpressCC.v80/MS.NETFramework.v20.fr/cpref17/html/P_System_Windows_Forms_Control_Anchor.htm

PS : Je sais que ça date, mais bon, ça peut toujours servir a quelqu'un
Commenter la réponse de Vince_02
Messages postés
144
Date d'inscription
samedi 21 octobre 2000
Statut
Membre
Dernière intervention
7 mai 2009
0
Merci
Raaahhh mais nan lol... vous êtes tétu :p

Justement avec la propriété Anchor après je ne peux pas déplacer mon image, la propriété Anchor c'est vraiment des position automatique, quoiqu'il arrive l'image (ou le bouton dans ton exemple Vince) elle sera toujours placer en bas à droite et je pourrais pas lui donner la position que je veux.

Merci de vos réponse en tout cas

Tuizi
Commenter la réponse de Tuizi
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
43
0
Merci
Avec le TableLayoutPanel tu y arrives sans problème, t'as essayé au moins ???

VC# forever
Commenter la réponse de cs_Bidou
Messages postés
33
Date d'inscription
dimanche 15 mai 2005
Statut
Membre
Dernière intervention
14 janvier 2016
1
0
Merci
oki, donc dans ce cas, je ne vois plus que le moyen d'utiliser les propriétés : Top, Left, Width et Height
que tu modifiras avec l'évènement qui va bien ...

Un détail au faite, je sais pas si tu le connais, mais je te donne le bout de code qui va bien = >

FormCollection monForm = Application.OpenForms;

monForm[" Name_du_Form "].Controls["Name_du_Controls"].Text = "Un p'tit Texte";
monForm["Name_du_Form"].Controls["Name_du_Controls"].Width = 640;
monForm[" Name_du_Form "].Controls["Name_du_Controls"].Height = 400;
monForm["Name_du_Form"].Controls["Name_du_Controls"].Font = new Font("Arial", 12, FontStyle.Bold, GraphicsUnit.Pixel);

Très pratique si tu compte modifier un élément d'un Form sans devoir en créer un nouveau a chaque fois.
Name_du_Form => Correspond au Nom de la fenêtre contenant le Controls " Name_du_Controls ".
Name_du_Controls => Correspond au Nom du Controls a modifier.

J'espère que ça t'aidera, car après, je ne vois pas trop de solution mise a part ceux sité précédement...
Commenter la réponse de Vince_02
Messages postés
144
Date d'inscription
samedi 21 octobre 2000
Statut
Membre
Dernière intervention
7 mai 2009
0
Merci
Bidou> Relis les messages précédent, oui j'ai essayé  je t'ai dit ce qui n'allez pas (toujours le problème avec les position automatiques et fixe du Anchor) mais depuis tu n'as plus répondu
Vince_02> ok mais je ne vois pas en quoi ça peut m'aider, les propriété Top et Left si je veux les utilisé ça va etre en faisant un calcul :s Et justement je voudrais faire un truc plus propre :s

Je vais vous filé un petit projet histoire que vous voyez concraitement ce qui ne va pas :)
Tuizi
Commenter la réponse de Tuizi
Messages postés
144
Date d'inscription
samedi 21 octobre 2000
Statut
Membre
Dernière intervention
7 mai 2009
0
Merci
Donc voila: http://kthack.multimania.com/Test%20Graphic.zip

Donc la placer la petite barrette de RAM au dessus du mot: "Microsoft" par exemple, la si vous cliqué sur le bouton "+" (l'image prend sa taille normal) la barrette de ram va etre toujours placer au dessus du mot Microsoft mais là c'est grace au calcul... et si vous cliquer sur le bouton "-" bon ba la ça bug mais c'est pas grave c'est histoire de vous montrer le principe .

Tuizi
Commenter la réponse de Tuizi
Messages postés
144
Date d'inscription
samedi 21 octobre 2000
Statut
Membre
Dernière intervention
7 mai 2009
0
Merci
Alors qu'en pensez vous?

Tuizi
Commenter la réponse de Tuizi
Messages postés
144
Date d'inscription
samedi 21 octobre 2000
Statut
Membre
Dernière intervention
7 mai 2009
0
Merci
A en effet on arrive un peu a ce que j'ai fait par calcul mais avec un TableLayoutPanel, donc escuse moi Bidou pour mon entetement...

Cependant... lorsque l'on démarre le projet la "RAM" se trouve a gauche du mot microsoft et si on agrandit au maximum la fenetre celle ci se retrouve au niveau du "i" de Microsoft...
On peut voir le problème en étirant la fenetre sur les bord on voit qu'un décalage ce fait... mais je vais aprofondir de ce coté là, c'est pas mal .

Tuizi
Commenter la réponse de Tuizi
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
43
0
Merci
Je l'ai fait très rapidement, et j'ai déjà effacé le projet donc je ne peux pas vérifier...
Mais à mon avis, c'est tout à fait faisable avec ce système, je te laisse chercher, tu as l'idée maintenant ;-)

VC# forever
Commenter la réponse de cs_Bidou
Messages postés
144
Date d'inscription
samedi 21 octobre 2000
Statut
Membre
Dernière intervention
7 mai 2009
0
Merci
Oui merci, je note ta réponse comme réponse acceptée

Tuizi
Commenter la réponse de Tuizi
Messages postés
144
Date d'inscription
samedi 21 octobre 2000
Statut
Membre
Dernière intervention
7 mai 2009
0
Merci
Bon voila les vacances sont finit j'ai pu me replonger dans mon code, et avec le Anchor ça marche vraiment au poil, seul problème:
Bidou sait tu comment faire pour que lors de l'agrandissement, la petite piturebox n'est pas un contour gris... ça fais vraiment pas propre, j'ai essayer avec la propriété BackColor en transparente mais bon rien de bien... c'est gris!

Le visuel:

Tuizi
Commenter la réponse de Tuizi