![]() |
Label nach Links vergrößern lassen
Hallo!
Ich habe ein kleines Designer-Problem: Ich habe ein Label welches am rechten Rand des Forms liegt/sitzt/ist. Wenn nun wärend der Laufzeit der Text verändert wird, so dass dieser länger als der vorherige ist, so wird das Label automatisch vergrößert (klar). Jedoch wird das Label nach rechts vergrößert, wodurch dann ein Teil außerhalb des sichtbaren Bereichs ist. Wie kann ich das bewerkstelligen, dass das Label nach links vergrößert wird? In Delphi würde ich das Label einfach so groß machen, dass der Fall erst garnicht eintrifft; das geht jedoch in C# nicht, da ich die Größe des Labels nicht verändern kann. :? Grüße Faux |
Re: Label nach Links vergrößern lassen
Code:
hoffe, das isses...
Label1.left := Label1.left - 1;
Lebel1.width := Labe11.width + 1; //EDIT: Verdammt, sorry, hab jetzt erst gelesen, dass es C ist :oops: Bitte meinen Post löschen! //EDIT²: Zu dem Post drunter: Rischtisch, hab mal wieder gelesen und geschrieben! ... und dann gedacht :D |
Re: Label nach Links vergrößern lassen
Ähm...
Ich denke mal, du hast nur den Titel meines Threads gelesen, aber den Text nicht. :mrgreen: Grüße Faux |
Re: Label nach Links vergrößern lassen
zwar auch in Delphi:
Delphi-Quellcode:
vielleicht gibt es ja was ähnliches in C# ;o)
label1.Left:=form1.Width-label1.Width;
Grüße Klaus |
Re: Label nach Links vergrößern lassen
in C# muss es doch auch die Möglichkeit geben von der Canvas (wird dort eventuell anders heißen) abzufragen, wie breit Text der dort drauf erscheint ist.
Unter Objectpascal würde es also so aussehen (funktioniert auch wenn das Label nicht am rechten Rand des Forms ist):
Delphi-Quellcode:
procedure SetLabelCaption(ALabel: TLabel; ACaption: String);
var LNewWidth, LOldWidth : Integer; begin LOldWidth := ALabel.Canvas.TextWidth(ALabel.Caption); LNewWidth := ALabel.Canvas.TextWidth(ACaption); ALabel.Caption := ACaption; ALabel.Left := ALabel.Left + (LOldWidth - LNewWidth); end; |
Re: Label nach Links vergrößern lassen
Zitat:
|
Re: Label nach Links vergrößern lassen
in C# sollte das so gehen
neuer Punkt f. linke obere Ecke des Controls:
Code:
Größe ändern:
label1.Location = new Point(136,248);
Code:
label1.Size = new Size (20,100);
jeweils x,y in px(denksch) also bei Location 1. Wert verringern und bei Size 1. Wert soviel vergrößern. alle Angaben sind ohne Gewähr. :) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:28 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz