Winforms RichTextBox: Wie kann ich bestimmen, wie viele Textzeilen sichtbar sind?

Ich habe eine Winforms-App mit einer RichTextBox.

Wie kann ich bestimmen, wie viele Textzeilen derzeit angezeigt werden?

Grund: Ich möchte das Caret in die Mitte der RichTextBox rollen. ich kann nutzenRichTextBox.ScrollToCaret (), aber das bringt das Caret an die Spitze der RichTextBox. Ich denke, wenn ich weiß, wie viele Zeilen angezeigt werden, könnte ich das Caret um n / 2 Zeilen "zurück" bewegen, dann ScrollToCaret () aufrufen und dann die ursprüngliche Caret-Position wiederherstellen.

BEARBEITEN:

ich fandEM_GETLINECOUNT, was ich dachte, war die Antwort, außer der doc sagt:Die EM_GETLINECOUNT-Nachricht ruft die Gesamtzahl der Textzeilen ab, nicht nur die Anzahl der derzeit sichtbaren Zeilen.

Verlockend gibt es auchEM_GETFIRSTVISIBLELINE, das die erste sichtbare Linie erhält, aber ich konnte keine GETLASTVISIBLELINE finden. ??

Verbunden:
Wie kann ich das Caret in die Mitte der RichTextBox rollen?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage