richtexbox: zeilenumbrüche zählen

  • VB.NET

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    richtexbox: zeilenumbrüche zählen

    Guten Abend :)

    Folgendes Problem:
    Ich schreibe 3 Zeilen mit Formatierung (also z. B. mit Font und Fontgröße) in ein rtb-control. Der Text könnte z. B. sein:

    Rudi Ratlos
    Heidenstr. 30
    45678 Einsehrlanger Stadtnahme mit Ortsteilangabe

    Nun sind das 3 Zeilen.
    Wenn das rtb-control zu schmal ist, werden daraus eventuell 4 Zeilen --> das rtb-control macht dann einen Zeilenumbruch. Alles gut. Aber kann ich das programmatisch irgendwie erkennen? Ich habe mal ein .SelelectAll() auf den Inhalt angewendet und nach irgendwelchen zusätzlichen Zeilenumbrüchen gesucht, indem ich mir von jedem Zeichen im Control den Ascii Wert ausgegeben hab. Der zusätzlich gemachte Zeilenumbruch ist hier nicht vorhanden.

    Hat jemand eine Idee, wie die Anzahl der "gerenderten" Zeilen zählen kann?

    Danke und Grüße
    Da ist ja kein zusätzlicher Zeilenumbruch im Text selbst, sondern das ist eine Besonderheit der Textdarstellung. Hat aber nix mit den Daten zu tun.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Dann dürfte das einfachste sein:

    VB.NET-Quellcode

    1. Dim Zeilenzahl = DeineRichTextBox.GetLineFromCharIndex(DeineRichTextBox.TextLength - 1) + 1
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    @dubi Die Anzahl der tatsächlichen Zeilen (ohne "weichen" Zeilenumbruch) ermittelst Du mit

    VB.NET-Quellcode

    1. Dim lines = RTB.Lines.Length
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!