在 C# 中,我有一个 RichTextBox,我想获取光标的当前行。我发现的每个答案都说要使用:
int currentLine = richTextBox1.GetLineFromCharIndex(richTextBox1.SelectionStart);
但是,richTextBox1.SelectionStart 仅在您更改文本时更新。如果您使用箭头键移动光标,它不会更新(我已经通过在移动时打印 SelectionStart 来验证这一点)。
即使您使用箭头键移动光标,如何以跟踪它的方式获取光标的当前行?
我在 Win8 中使用 VS2012。
编辑: terrybozzio 的回答显示了问题。对于其他有此问题的人,您不能将代码放在richTextBox1_TextChanged 中。你需要把它放在richTextBox1_SelectionChanged 中。