1
在C#中,我有一個RichTextBox,我想獲得光標的當前行。我發現每一個答案說,使用:C#獲取光標線的RichTextBox
int currentLine = richTextBox1.GetLineFromCharIndex(richTextBox1.SelectionStart);
然而,richTextBox1.SelectionStart只有更新時,您更改文本。如果用箭頭鍵移動光標,它不會更新(我通過在移動時打印SelectionStart來驗證此問題)。
我如何獲取光標的當前行,在其跟蹤的方式,即使你使用箭頭鍵移動光標?
我使用Win8的VS2012。
編輯: terrybozzio的回答顯示的問題。對於有此問題的其他人,您不能將代碼放入richTextBox1_TextChanged中。你需要把它放在richTextBox1_SelectionChanged中。
在什麼情況下您調用該方法? – keyboardP
當我移動箭頭鍵時,我能夠看到選擇開始更改。 –
你不能把支票放在keydown事件中嗎?然後當你用箭頭鍵移動它時,它會更新。 – Nick3