计算文本框中的包装线

时间:2015-06-03 10:48:05

标签: .net vb.net textbox

我在文本框中有一行文字并且包含在很多行中,如何计算文本框中包装行的数量?

1 个答案:

答案 0 :(得分:3)

您可以使用String.Split

int lineCount = txt.Text.Split(new[] { '\n', 'r' }, StringSplitOptions.None).Length;

如果它是winforms TextBox,您还可以使用Lines属性:

int lineCount = txt.Lines.Length;

所以它的VB.NET:

Dim lineCount = txt.Text.Split({vbLf, vbCr}, StringSplitOptions.None).Length

更新:也许我的理解是错误的,你想要计算"行" UI元素(如TextBox)包装了您的单行文本。那么上面当然没有工作。

您可以使用Text.GetLineFromCharIndex

Dim lineCount = txt.GetLineFromCharIndex(txt.Text.Length - 1)

我必须承认我以前不知道GetLineFromCharIndex,但似乎按预期工作。我输入了一个长单行文本,行数为23.在我减小了文本框的宽度后,它已经变为40。