Discussion:
Label Text Vertikal schreiben
(zu alt für eine Antwort)
Alexander Mosch
2003-12-31 01:29:19 UTC
Permalink
Hallo Ng

ich möchte gerne einen Label mit einem Text Vertikal anzeigenlassen, d.h.
Buchstabe für Buchstabe untereinander.
Gibts hierfür eine Funktion o.ä.?

die Funktion : StringFormatFlags.DirectionVertical
dreht mir leider den gesamten Text um 90Grad - jedoch möchte ich gerne
Buchstabe für Buchstabe untereinander haben so wie hier im Beispiel:
B
e
i
s
p
i
e
l

Vieleicht kann mir jemand hierbei helfen

Gruss
Alex
Peter Spoenemann
2003-12-31 11:30:43 UTC
Permalink
Post by Alexander Mosch
Hallo Ng
ich möchte gerne einen Label mit einem Text Vertikal anzeigenlassen, d.h.
Buchstabe für Buchstabe untereinander.
Gibts hierfür eine Funktion o.ä.?
die Funktion : StringFormatFlags.DirectionVertical
dreht mir leider den gesamten Text um 90Grad - jedoch möchte ich gerne
B
e
i
s
p
i
e
l
Vieleicht kann mir jemand hierbei helfen
Gruss
Alex
Du möchtest also nach jedem Buchstaben eine neue Zeile im Label anfangen?
Ja, dann mach das doch:
lblTest.Text = "H\na\nl\nl\no";

Kannst dir natürlich noch eine Funktion bauen, die hinter jedem Zeichen
einen Zeilenvorschub einfügt.

Peter
Alexander Mosch
2003-12-31 13:16:51 UTC
Permalink
Post by Peter Spoenemann
Post by Alexander Mosch
Hallo Ng
ich möchte gerne einen Label mit einem Text Vertikal anzeigenlassen, d.h.
Buchstabe für Buchstabe untereinander.
Gibts hierfür eine Funktion o.ä.?
die Funktion : StringFormatFlags.DirectionVertical
dreht mir leider den gesamten Text um 90Grad - jedoch möchte ich gerne
B
e
i
s
p
i
e
l
Vieleicht kann mir jemand hierbei helfen
Gruss
Alex
Hallo Peter
Post by Peter Spoenemann
Du möchtest also nach jedem Buchstaben eine neue Zeile im Label anfangen?
so ähnlich
Post by Peter Spoenemann
lblTest.Text = "H\na\nl\nl\no";
hier muss ich den Text von vorne herein kennen !

ich hab mir ein Label Control gebastelt, der u.a. den Text vertikal
darstellen kann (ist ja kein Probl.) aber nun möchte ich den Text zwar
vertikal darstellen aber nicht die Buchstaben selbst vertikal gedreht.

mein Problem ist folgendes: wie kann ich jeden Buchstaben einzeln erfassen?
(d.h. ich möchte gerne via for - Schleife und this.Text.Length jedes
einzelne Zeichen gefolgt mit + "\n" auslesen und diese in eine Zeile setzen.
Ich hab momentan lediglich noch Probleme mit der einzelnen
Zeichenauslesungen.

Alex
Joachim Fuchs
2003-12-31 13:31:21 UTC
Permalink
Hallo Alex,

war Dein Name nicht vorher Mosche? Und was hast Du für eine merkwürdige
EMail-Adresse?

Zur Sache:

private void Form1_Load(object sender, System.EventArgs e)
{
label1.Text=Vertikal("Hallo Alex");
}
public string Vertikal(string text)
{
string returnstring="";
for (int i=0; i<text.Length; i++)
returnstring += text[i] + Environment.NewLine;
return returnstring;
}


Gruß
Joachim
--
http://www.fuechse-online.de
Herfried K. Wagner [MVP]
2003-12-31 13:52:31 UTC
Permalink
Hallo Joachim!
Post by Joachim Fuchs
private void Form1_Load(object sender, System.EventArgs e)
{
label1.Text=Vertikal("Hallo Alex");
}
public string Vertikal(string text)
{
string returnstring="";
for (int i=0; i<text.Length; i++)
returnstring += text[i] + Environment.NewLine;
return returnstring;
}
... wobei ich hier bei längerem Text eventuell einen 'StringBuilder'
bevorzugen würde...

;-)))
--
Herfried K. Wagner [MVP]
<http://www.mvps.org/dotnet>
Joachim Fuchs
2003-12-31 14:37:21 UTC
Permalink
Post by Herfried K. Wagner [MVP]
... wobei ich hier bei längerem Text eventuell einen 'StringBuilder'
bevorzugen würde...
um den Text für ein Label zusammenzusetzen? Meinst Du nicht, dass es
egal ist, ob das 1 ms oder 1,05 ms dauert?

Gruß
Joachim
--
http://www.fuechse-online.de
Alexander Mosch
2003-12-31 14:16:53 UTC
Permalink
Hallo Joachim,

danke - das war genau das was ich gesucht habe :-)

Gruß
Alex

PS. einen guten Rutsch ins 2004
Post by Joachim Fuchs
Hallo Alex,
war Dein Name nicht vorher Mosche? Und was hast Du für eine merkwürdige
EMail-Adresse?
private void Form1_Load(object sender, System.EventArgs e)
{
label1.Text=Vertikal("Hallo Alex");
}
public string Vertikal(string text)
{
string returnstring="";
for (int i=0; i<text.Length; i++)
returnstring += text[i] + Environment.NewLine;
return returnstring;
}
Gruß
Joachim
--
http://www.fuechse-online.de
Stefan Falz [MVP]
2003-12-31 11:28:47 UTC
Permalink
Hallo Alexander,
Post by Alexander Mosch
ich möchte gerne einen Label mit einem Text Vertikal anzeigenlassen, d.h.
Buchstabe für Buchstabe untereinander.
Gibts hierfür eine Funktion o.ä.?
Füg doch einfach nach jedem Buchstaben ein Environment.NewLine ein.
--
Tschau, Stefan
MS MVP für ASP / ASP.Net
http://aspnet.codebooks.de/ - Das ASP.Net Codebook (VB.Net)
http://asp.codebooks.de/ - Das ASP Codebook
http://www.aspfaq.de/ - Active Server Pages FAQ
Loading...