Скажем, я щелкнул где-то внутри элемента управления RichTextBox. Как я могу получить текущую строку, на которой сейчас находится каретка?
Кстати, это для извлечения всей текстовой строки этой строки.
Это сработало для меня:
this.WordWrap = false; int cursorPosition = this.SelectionStart; int lineIndex = this.GetLineFromCharIndex(cursorPosition); string lineText = this.Lines[lineIndex]; this.WordWrap = true;
Это то, что RichTextBox.GetLineFromCharIndex () делает. Передайте значение свойства SelectionStart.
Один из способов - отправить сообщение EM_LINEFROMCHAR . Я уверен, что есть и другие способы.
Если вы хотите получить текущий номер строки из редактора Control, где вы сейчас отлаживаете, тогда
int lineNumber = (new StackTrace()).GetFrame(1).GetFileLineNumber();
Я думаю, что это полезно для вашей проблемы.