在C#中计算RichTextBox显示的行数

4

在我的项目中,我想要在C#中计算具有自动换行属性的richtextbox中显示的行数。例如,在richtextbox中,我写了一段文字,当文字达到richtextbox的宽度时,它会自动转到第二行。因此,实际上文本包含一行,但却显示为两行。所以我想知道如何将其视为两行而不是一行?非常感谢您的帮助。

1个回答

7

您可以使用RichTextBox.GetLineFromCharIndex 方法来实现。

从 RichTextBox 控件的文本中,检索指定字符位置所在的行号。如果设置 WordWrapfalse,则该行不会分成多行,并且该方法返回指定字符索引的 0。

此外,还请查看链接


不,你没理解我的意思。我想设置richtextbox1.wordwrap = true,并且我想计算显示该文本的行数。例如,“jjkvbhjkbjbfvbh kjvbhfvbkfvgbhj kjfhbhjmnbfjkbfvgbhfvghj jhbvjmnkkvjbvhjhb”,这是一个非常长的字符串,假设它不会在Richtextbox中一行显示(可能是两行或三行)。因此,我想计算这些行数而不是实际的行数(实际上只有一行)。 - Shashank Sharma
1
@Shashank 请重新阅读答案。这正是你所寻求的。除非 wordwrap == true,否则它毫无意义。 - Jay
1
好的,它起作用了。我使用了这个命令int lineNumber = richTextBox1.GetLineFromCharIndex(richTextBox1.TextLength) + 1;来获取richtextbox显示的行数。感谢您的帮助。 - Shashank Sharma

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接