假设我有一些批处理代码可以批量打印出一个hello world程序,并且已将其放入富文本框(在可视C#.NET中):

@echo off
cls
title Hello World
echo Hello World
pause


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

因此,例如,如果我突出显示“ echo”,然后单击一个按钮,它将在行的前面插入“ ::”。

我将如何在代码中做到这一点?

最佳答案

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);


关于我将如何做。它将处理多行,并且无论实际选择区域如何,都将在选定的行上添加注释。

09-15 16:30