Как получить текущую строку в элементе управления RichTextBox? - PullRequest
3 голосов
/ 22 апреля 2010

Скажем, я щелкнул где-то внутри элемента управления RichTextBox. Как я могу получить текущую строку, на которой сейчас находится каретка?

Кстати, это для извлечения всей текстовой строки этой строки.

Ответы [ 4 ]

12 голосов
/ 31 августа 2012

Это сработало для меня:

this.WordWrap = false;
int cursorPosition = this.SelectionStart;
int lineIndex = this.GetLineFromCharIndex(cursorPosition);
string lineText = this.Lines[lineIndex];
this.WordWrap = true;
11 голосов
/ 23 апреля 2010

Это то, что RichTextBox.GetLineFromCharIndex () делает. Передайте значение свойства SelectionStart.

1 голос
/ 23 апреля 2010

Один из способов - отправить сообщение EM_LINEFROMCHAR . Я уверен, что есть и другие способы.

0 голосов
/ 21 апреля 2011

Если вы хотите получить текущий номер строки из редактора Control, где вы сейчас отлаживаете, тогда

int lineNumber = (new StackTrace()).GetFrame(1).GetFileLineNumber();

Я думаю, что это полезно для вашей проблемы.

...