簡體   English   中英

如何從 RichTextBox 獲取顯示的文本?

[英]How to get displayed text from RichTextBox?

如何在 RichTextBox 中獲取顯示的文本? 我的意思是如果 RichTextBox 滾動到最后,我只想接收那些對我可見的行。

PS它足以獲得第一個顯示的字符串

您想使用 RichTextBox.GetCharIndexFromPosition()。 要獲取第一個可見字符的索引,請傳遞 RTB 客戶區左上角的 new Point(0, 0)。 要獲取最后一個可見字符的索引,請傳遞 new Point(rtb.ClientSize.Width, rtb.ClientSize.Height)。 RichTextBox.Text.Substring() 然后為您提供所有可見文本。

如有必要,您可以使用 RichTextBox.GetLineFromCharIndex() 將字符索引轉換為行號。

查看通過 SendMessage API 函數發送消息 EM_GETFIRSTVISIBLELINE。

從蛋咖啡:

" 思路是獲取滾動條可見區域下的文本。

您需要通過控件的TextHeight 屬性找出richtextbox 的高度並確定文本的高度。 將控件的高度除以文本的高度。

通過這種方式,您可以確定 Richtextbox 控件中可以容納的最大行數。

希望這能解決或至少讓你靠近。

取自http://www.eggheadcafe.com/community/aspnet/2/10073516/how-to-select-the-visible.aspx

不優雅,但我認為這有效。

//Force selection 

richTextBox.SelectAll();

//Get the selected text

dataString = richTextBox.Selection.Text;

如果您想允許用戶選擇文本等,這當然行不通。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM