我在文本框中有一行文本,它被换行成多行,如何计算文本框中的换行数?
最佳答案
您可以使用 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。
关于.net - 计算文本框中的换行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30617928/