测试123
点击“复制”后:
测试123 测试 123
无论光标在哪里 将整行复制到下一行
我试过:
int selectionStart = richTextBox1.SelectionStart;
int lineStart = richTextBox1.GetFirstCharIndexOfCurrentLine();
int lineEnd = richTextBox1.GetFirstCharIndexFromLine(richTextBox1.GetLineFromCharIndex(selectionStart) + 1);
if (lineEnd == -1)
{
// Last line in the RichTextBox
lineEnd = richTextBox1.Text.Length;
}
string selectedLine = richTextBox1.Text.Substring(lineStart, lineEnd - lineStart);
// Insert the duplicated line after the current line
richTextBox1.Text = richTextBox1.Text.Insert(lineEnd, Environment.NewLine + selectedLine);
// Move the cursor to the end of the duplicated line
richTextBox1.SelectionStart = lineEnd + Environment.NewLine.Length;
richTextBox1.ScrollToCaret();
int selectionStart = richTextBox1.SelectionStart;
int lineStart = richTextBox1.GetFirstCharIndexOfCurrentLine();
int lineEnd = richTextBox1.GetFirstCharIndexFromLine(richTextBox1.GetLineFromCharIndex(selectionStart) + 1);
if (lineEnd == -1)
{
lineEnd = richTextBox1.Text.Length;
}
string selectedLine = richTextBox1.Text.Substring(lineStart, lineEnd - lineStart);
richTextBox1.Text = richTextBox1.Text.Insert(lineEnd, Environment.NewLine + selectedLine);
richTextBox1.SelectionStart = lineStart;
richTextBox1.SelectionLength = selectedLine.Length + Environment.NewLine.Length;
richTextBox1.ScrollToCaret();