Winforms RichTextBox: ¿Cómo puedo determinar cuántas líneas de texto son visibles?

Tengo una aplicación Winforms que contiene un RichTextBox.

¿Cómo puedo determinar cuántas líneas de texto se muestran, actualmente visibles?

Motivo: quiero desplazar el cursor hasta la mitad de RichTextBox. Puedo usarRichTextBox.ScrollToCaret (), pero eso pone el caret en la parte superior de RichTextBox. Me imagino que, si sé cuántas líneas se muestran, podría mover el cursor "atrás" n / 2 líneas, luego llamar a ScrollToCaret () y luego restaurar la posición del cursor original.

EDITAR:

encontréEM_GETLINECOUNT, que pensé que era la respuesta, excepto que el documento dice:El mensaje EM_GETLINECOUNT recupera el número total de líneas de texto, no solo el número de líneas que están visibles actualmente.

Tentadoramente, también hayEM_GETFIRSTVISIBLELINE, que obtiene la primera línea visible, pero no pude encontrar un GETLASTVISIBLELINE. ??

Relacionado:
¿Cómo puedo desplazar el cursor a la mitad de RichTextBox?

Respuestas a la pregunta(2)

Su respuesta a la pregunta