text positioning in label

DerStauner

Erfahrenes Mitglied
Hallo,

ich möchte folgendes machen:

Ich habe ein label, dessen width z.B. 300 pixel ist. Der Text ist z. B. 50 pixel. Nun möchte ich, dass z. B. ab 100 pixel ein neuer Text beginnt. Und ab 200 pixel wieder ein Text. Also ich möchte die Texte innerhalb des labels positionieren. drawstring kommt leider nicht in Frage.

Bisher habe ich es so versucht, dass ich den ersten Text solange mit spaces ausfüllte, bis ich den erwünschten width hatte. Aber das klappte nicht so gut, der nächste Text begann nicht dort, wo ich es wollte, sondern später.

Hat hier jemand eine Idee, wie ich das hinkriegen könnte?

Danke.
 
Verwende doch einfach mehrere Labels, die du im gewünschten Abstand positionierst.
Das Label als an sich ist für derartige Formatierungswünsche nicht erdacht.
 
ja, daran habe ich auch gedacht. Wäre auch gut, aber es kann sein (nur in einem Fall), dass ich so 1.000 x 5 = 5.000 labels haben werde. Die würden dynamisch erzeugt und würden nicht immer sehbar sein. Aber in einem anderen Forum habe ich schon nachgefragt, wie langsam das würde. Und da hat mir einer geschrieben, dass bei ihm das Laden von 8.000 labels etwa 25 sec dauerte.
 
Hallo

Die einfachste Variante ist es eine von Label erbende Klasse zu machen die dann Draw selber implementiert. Da rufst du zuerst das Drawing deiner Vaterklasse auf und setzt vorher den Text auf einen leeren String. Dadurch wird das ganze Label mal gezeichnet wie es sein muss. Dann kannst du noch deine Berechnungen machen und die einzelnen Strings reinzeichnen. Warum DrawString nicht möglich sein sollte sehe ich nicht ein.

Gruss
Cromon
 
Zurück