.net - 计算文本框中的换行数

标签 .net vb.net textbox

我在文本框中有一行文本,它被换行成多行,如何计算文本框中的换行数?

最佳答案

您可以使用 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/

相关文章:

c# - 向客户端发送数据的最佳做法是什么 : POCO or DTO?

c# - C# 中的文件系统观察器

jquery - 完整日历 + 事件 + 事件 Drop + Ajax - 不发送日期值

html - 文本框悬停背景图像移动和重新调整大小

java - 添加对 SuggestBox 的关注?

WPF - 垂直增长以容纳所有文本的文本框

.net - Clickonce 错误 : missing files. 需要丢失文件名

vb.net - 使用 Office Interop 将单元格写入 Excel 的最快方法?

vb.net - DateTimePicker 日期选择

vb.net - 保留列表框中最后几个字符 VB.NET