我在文本框中有一行文字并且包含在很多行中,如何计算文本框中包装行的数量?
答案 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。