In C#, I have a RichTextBox, and I want to get the current line of the cursor. Every answer I've found says to use:
int currentLine = richTextBox1.GetLineFromCharIndex(richTextBox1.SelectionStart);
However, richTextBox1.SelectionStart only updates when you make changes to the text. If you move the cursor with the arrow keys, it does not update (I've verified this by printing SelectionStart as I move around).
How do I get the current line of the cursor, in a way that tracks it even if you use the arrow keys to move the cursor around?
I'm using VS2012 in Win8.
Edit: terrybozzio's answer showed the problem. For anyone else with this problem, you can't put the code in richTextBox1_TextChanged. You need to put it in richTextBox1_SelectionChanged.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…