SwordMaster Geschrieben 20. März 2010 Geschrieben 20. März 2010 Hallo Zusammen, Ich habe eine C# Form Anwendung, die eine RichTextBox füllt. Das Problem: Ich möchte in der Textbox einen Text untereinander darstellen. Beispiel: m_textbox.AppendText("Alksdjfaks kasldjflaskdjf\r\n"); m_textbox.AppendText("Sakljdfi sakdfja"); Die zwei "Spalten" sind mit Tabulatoren getrennt... Das Problem: Wenn ich "Times New Roman" hab, stehen die zwei Spalten schön untereinander. Wenn ich Arial hab nicht.... Wie kann ich zur Laufzeit (abhängig von der Sprache) rausfinden wieviele Tabs ich erzeugen muss? Ich denke man müsste eine art "sichtbare breite" eines Strings (in abhängigkeit von der Schriftart) ermitteln? aber wie? P.S. Bevor jemand fragt, wieso ich nicht einfach ein ListView (Tabelle) oder so verwende... Ich will das ganze später mit einem Editor eines anderen Programms kommunizieren lassen.... Ich hab also absichtlich eine Textbox als Steuerelement gewählt. Falls jemand einen Tipp hat, wärs genial Viele Grüße Stefan Zitieren
TDM Geschrieben 22. März 2010 Geschrieben 22. März 2010 Ich denke man müsste eine art "sichtbare breite" eines Strings (in abhängigkeit von der Schriftart) ermitteln? aber wie? Du könntest Graphics.MeasureString "missbrauchen". [Editerle] Haha. Schneller. @Zieg0re :floet: Zitieren
Goulasz Geschrieben 22. März 2010 Geschrieben 22. März 2010 (bearbeitet) Diese Methode nennt sich MeasureString und funktioniert ganz hervorragend, zeichnet allerdings ein Rechteck um den String, ist also nicht zu 100% genau. Da müsstest du die Grafik vorher zerhackstückeln, frag mich aber nicht, wie^^. Die Methode hat mir bisher immer gereicht für solche Zwecke. Gruß, Zieg0re Bearbeitet 22. März 2010 von Goulasz .Net Framework 3.0 Link gepostet... MIST Zweiter... Zitieren
nubbeldupp Geschrieben 26. März 2010 Geschrieben 26. März 2010 Also ich hatte das gleiche Problem gestern in der Berufsschule... ich habs wie folgt hinbekommen: rtb.AppendText("Bla Blubb"); rtb.AppendText("\r\n" + "Bla Blubb"); So hat er bei mir alles in eine neue Zeile geschrieben. Kann natürlich sein, das dies nicht immer funktioniert... bin selbst noch eine C#´ler im Anfangsstadium xD Zitieren
HJST1979 Geschrieben 31. März 2010 Geschrieben 31. März 2010 Hallo ich habs schon mal irgendwo gefunden aber weiß nicht genau wo, aber es gibt die Möglichkeit in einem RTF- Feld Tabellen einzufügen, somit kannst du Text untereinander schreiben und zwar egal welche Schriftart / Größe du verwendest Gruß Hans-Jörg Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.