如果我在 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/