2010-07-22 4 views
6

J'ai une étiquette que je veux aligner à droite pour pouvoir l'aligner sur une zone de texte.
Designer dans Visual Studio 2010 Express ont généré ce code pour moi.NET Label.TextAlign ne semble pas fonctionner

this.lblAddData.AutoSize = true; 
this.lblAddData.Location = new System.Drawing.Point(167, 452); 
this.lblAddData.Name = "lblAddData"; 
this.lblAddData.Size = new System.Drawing.Size(25, 14); 
this.lblAddData.TabIndex = 5; 
this.lblAddData.Text = "text"; 
this.lblAddData.TextAlign = System.Drawing.ContentAlignment.MiddleRight; 

[texte] [zone de texte] Dans le code que je change le texte programmaticly

lblAddData.Text = "a very long text"; 

mais le texte se cache derrière le texbox que j'ai placé à côté de l'étiquette sur le
côté droit.

[un ver] [zone de texte]

Demandez à quelqu'un de connu le même problème avant?
Je sais qu'il manque des informations alors demandez-moi si vous avez besoin de plus d'informations.
Cordialement
GÖRGEN

Répondre

14

Eh bien, j'ai repéré l'erreur moi-même; AutoSize a été définie sur true, qui est par défaut behavour

this.lblAddData.AutoSize = true; 

Quand j'ai changé à false, il a travaillé comme je suppose qu'il devrait.

3

Les contrôles de propriété TextAlign comment le texte est aligné dans l'étiquette:

Obtient ou définit l'alignement du texte sur l'étiquette.

Si vous modifiez la longueur du texte, vous devez recalculer le Location de l'étiquette qui est toujours en haut à gauche.

J'ai trouvé cette Code Project article qui, tout probablement sur le dessus pour ce que vous voulez, déclare:

De plus, si vous allez changer le texte de l'étiquette (par exemple, lors de la localisation de l'application) ou l'alignement du texte, vous devrez redimensionner/repositionner les contrôles. Par conséquent, j'ai créé cette étiquette simple qui prend soin de ces détails.

(mon gras)

vous pouvez donc utiliser le même algorithme pour repositionner l'étiquette.

+2

/visagepalm Vraiment Microsoft? Vraiment? –

Questions connexes