如何将文本添加到富文本框中的选定行?

时间:2011-06-18 01:00:16

标签: c# richtextbox

让我们说我有一些批处理代码可以批量打印出一个hello world程序,我已将代码放入一个富文本框(即Visual C#.NET中):

@echo off
cls
title Hello World
echo Hello World
pause

现在,我希望能够突出显示一行或一行的一部分,然后通过添加" ::"来注释掉突出显示的行。到了前面。

例如,如果我突出显示" echo",然后单击一个按钮,它将插入" ::"到了前线。

我将如何在代码中执行此操作?

1 个答案:

答案 0 :(得分:3)

int selStart = myRichTextBox.SelectionStart;
int selLength = myRichTextBox.SelectionLength;
int line = myRichTextBox.GetLineFromCharIndex(selStart);
int endLine = myRichTextBox.GetLineFromCharIndex(selStart + selLength);
for(; line <= endLine; line++) {
    int charIndex = myRichTextBox.GetFirstCharIndexFromLine(line);
    myRichTextBox.Select(charIndex, 0);
    myRichTextBox.SelectedText = "::";
}
myRichTextBox.Select(selStart, selLength);

关于我将如何做到这一点。它将处理多行,并且无论实际选择区域如何,它都会在所选行上添加注释。