我有一個包含RichTextBox的Winforms應用程序。Winforms RichTextBox:如何確定有多少行文字可見?
如何確定當前顯示的文本行數?
原因:我想將插入符滾動到RichTextBox的中間位置。我可以使用RichTextBox.ScrollToCaret(),但將插入符號放在RichTextBox的頂部。我想,如果我知道顯示了多少行,我可以將插入符號「後退」n/2行,然後調用ScrollToCaret(),然後恢復原始插入符的位置。
編輯:
我發現EM_GETLINECOUNT,我認爲是答案,除了醫生說:的EM_GETLINECOUNT信息檢索當前可見的文本行總數,不只是行數。
Tantalizingly,也有EM_GETFIRSTVISIBLELINE,它獲得第一個可見行,但我找不到GETLASTVISIBLELINE。 ??
相關:
How can I scroll the caret to the middle of the RichTextBox?
只是有興趣 - 你將如何處理這些信息?你意識到這可能是可變的,因爲你可以在整個文本中有不同的字體和填充。 – 2009-11-20 22:43:14
它進入構建自定義RTB,顯示行號:http://stackoverflow.com/questions/2567263/how-to-show-number-of-a-line-in-a-richtextbox-c/2668264#2668264 – Cheeso 2010-04-20 14:32:45