如何在C#中的文本框中获取光标的列号?

时间:2020-03-05 18:54:24  来源:igfitidea点击:

我有一个多行textBox,我希望在窗体上有一个标签,像Visual Studio一样显示当前行和列的位置。

我知道我可以使用GetLineFromCharIndex获得该行,但是如何获得该行上的列呢?

(我真的很希望光标在该行上,而不是"列"本身)

解决方案

回答

在我的头顶上,我认为我们需要SelectionStart属性。

回答

textBox.SelectionStart -
textBox.GetFirstCharIndexFromLine(textBox.GetLineFromCharIndex(textBox.SelectionStart))

回答

int line = textbox.GetLineFromCharIndex(textbox.SelectionStart);
int column = textbox.SelectionStart - textbox.GetFirstCharIndexFromLine(line);