c# - 从 Char 索引确定逻辑行 (Winforms TextBox)

标签 c# .net winforms textbox

如果我在 TextBox 中使用 WordWrap = true 调用 textBox.GetLineFromCharIndex(int),它会返回用户看到的行索引它(换行算作多行),而不是根据换行符的行。

Line one extends to       // <- word wrapped
here.                     // <- logical line 1, GetLineFromCharIndex returns line 2
This is line two.         // <- logical line 2, GetLineFromCharIndex returns line 3

有谁知道从字符索引而不是显示行找到逻辑行的解决方案?

最佳答案

查找整个文本中换行符出现的次数,直至您的字符索引。

也许首先将文本框文本的子字符串取到您的字符索引。在换行符上使用 Split,并计算结果。

或者,循环解决方案将使用 Index 函数并计算在您的 char 索引中找到了多少换行符。

关于c# - 从 Char 索引确定逻辑行 (Winforms TextBox),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2375760/

相关文章:

c# - EF6.2 已使用 .netFramework 版本 4.6.1 而不是项目目标框架 .NETStandard v2.0 恢复

.net - 如何卸载未出现在“添加/删除程序”中的 ClickOnce 应用程序?

c# - 为什么要为初始化器烦恼? (。网)

c# - 我可以在多行文本框中显示不适合整个行的上半部分吗?

c# - 如何在 TeeChart for .net 中添加鼠标点击事件

c# - VB.Net VBDateTimePicker (可空日期时间选择器)

C#运行时提高应用程序权限

c# - .NET 4.5 中 sslStream 的密码选择

C# Windows 窗体处理单击垃圾邮件

C# 如何将 DataGridView 列标题显示到文本框中?