Как я могу скопировать строку из Richtextbox при ее выборе? - PullRequest
0 голосов
/ 20 февраля 2020

Я пытаюсь автоматически выделить и скопировать одну строку из расширенного текстового поля и сохранить ее в переменной при нажатии на любую часть строки.

Возможно ли это?

1 Ответ

2 голосов
/ 20 февраля 2020

Должно помочь событие Click и что-то вроде следующего:

private void richTextBox1_Click(object sender, EventArgs e)
{
    int index = richTextBox1.SelectionStart;
    int line = richTextBox1.GetLineFromCharIndex(index);
    string lineText = (richTextBox1.Lines.Length > 0) ? richTextBox1.Lines[line] : "";

    //Debug output for my own testing purposes
    Debug.WriteLine(lineText);
}  

Возможно, вы захотите сделать что-то другое, когда RichTextBox пусто. Я просто использую пустую строку.
Вот пример вывода из простого приложения: Example output
Текст, отображаемый в окне вывода, отражает порядок, в котором я щелкал строки после набрав.
Тем не менее, одно предостережение в том, что вам не нужно нажимать точно в строке, чтобы он сосчитал. Например, нажатие на пустое место под последней строкой регистрируется как нажатие на последнюю строку, потому что на этом курсор заканчивается. Это может не иметь большого значения, но об этом нужно знать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...