J'ai actuellement une zone de texte sur un Windows Forms, et j'ai besoin d'ajouter dynamiquement un contrôle de boîte PictureBox à droite de la zone de texte.Comment déterminer la largeur d'un contrôle de formulaires Windows dont la largeur a été augmentée car il est Ancré?
Je crée PictureBox et programmation I Lorsque l'emplacement du PictureBox, je suis mise comme ceci:
pBox.Location = new Point (tbControl.Location.X + ctrl.Width, ctrl.Location .Y);
Donc, je suis en train de régler la zone d'image à l'emplacement X de la zone de texte PLUS la largeur de la zone de texte. Toutefois, étant donné que la zone de texte a une propriété d'ancrage définie sur droite, sa largeur augmente pour remplir l'espace entre elle et la bordure de formulaire.
Le problème est que même si la largeur de la zone de texte est visuellement plus grande que la valeur réelle de TextBox.Width. la propriété Width ne prend pas en compte la largeur supplémentaire de l'ancrage.
J'ai déjà essayé des propriétés comme Textbox.Bounds.Width, Textbox.ClientSize.Width, Textbox.DisplayRectangle.Width, etc. sans chance. Toutes ces propriétés renvoient la largeur d'origine du contrôle sans tenir compte de la largeur redimensionnée en raison de la propriété Anchor.
Est-ce que quelqu'un sait comment je peux déterminer la taille réelle de la zone de texte? Merci
nobugz, je ne pense pas que l'ancrage du PB est la bonne approche, car cela augmenterait sa largeur au lieu de déplacer le point de départ du pb. J'ai juste besoin de trouver un moyen d'ajouter les PBs jusqu'à ce que les boîtes de texte soient développées. – GR7
Non, cela ne fait qu'augmenter la largeur si elle est ancrée des deux côtés. Seulement ancrer à droite. –
Vous aviez raison nobugz! Ancrer le PB à droite a fait l'affaire. Merci beaucoup. – GR7