c# – 在.NET TextBox上设置光标的当前行

前端之家收集整理的这篇文章主要介绍了c# – 在.NET TextBox上设置光标的当前行前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在.NET中,您可以使用GetLineFromCharIndex和SelectionStart轻松获取TextBox的光标位置的行号(即“当前行”):
var currentLine = textBox1.GetLineFromCharIndex(textBox1.SelectionStart);

是否有“干净/原生”方式将光标设置在文本框的给定行中(即设置“当前行”)?或者至少是一种“干净/原生”的方式来获取给定行的第一个字符的char索引(类似于getCharIndexFromLine,与之前放置的函数相反)?

一种方法是迭代遍历TextBox的Lines属性的前N-1个元素,并将它们的长度加上换行符的长度相加.还有其他想法吗?

解决方法

有一个GetFirstCharIndexFromLine()函数可用:
int myLine = 3;
int pos = textBox1.GetFirstCharIndexFromLine(myLine);
if (pos > -1) {
  textBox1.Select(pos,0);
}

猜你在找的C#相关文章