如何获取 RichTextBox 的行数
How To Get The Line Count Of A RichTextBox
有没有简单的方法来模拟 TextBox.LineCount
的 RichTextBox
?我一直在查看其他帖子和解决方案,但它们已经非常过时了。
其他帖子:
Richtextbox lines count
从控件中获取文本并将其拆分为带有 Environment.NewLine
分隔符的数组,然后您可以检查数组的长度以获取行数。
private void button_Click(object sender, RoutedEventArgs e)
{
TextRange MyText = new TextRange(
richTextBox1.Document.ContentStart,
richTextBox1.Document.ContentEnd
);
string[] splittedLines = MyText.Text.Split(new[] { Environment.NewLine }
, StringSplitOptions.None); // or StringSplitOptions.RemoveEmptyEntries
MessageBox.Show(splittedLines.Length.ToString());
}
如果我没理解错的话,您希望行数包括由于自动换行而呈现多行的情况。如果是这种情况,您需要计算 richtextbox 文本中换行符的频率加上 richtextbox 宽度的因素来检测自动换行。
有没有简单的方法来模拟 TextBox.LineCount
的 RichTextBox
?我一直在查看其他帖子和解决方案,但它们已经非常过时了。
其他帖子:
Richtextbox lines count
从控件中获取文本并将其拆分为带有 Environment.NewLine
分隔符的数组,然后您可以检查数组的长度以获取行数。
private void button_Click(object sender, RoutedEventArgs e)
{
TextRange MyText = new TextRange(
richTextBox1.Document.ContentStart,
richTextBox1.Document.ContentEnd
);
string[] splittedLines = MyText.Text.Split(new[] { Environment.NewLine }
, StringSplitOptions.None); // or StringSplitOptions.RemoveEmptyEntries
MessageBox.Show(splittedLines.Length.ToString());
}
如果我没理解错的话,您希望行数包括由于自动换行而呈现多行的情况。如果是这种情况,您需要计算 richtextbox 文本中换行符的频率加上 richtextbox 宽度的因素来检测自动换行。