【问题标题】:How do I prepend text to a selected line in a Rich Text Box?如何将文本添加到富文本框中的选定行?
【发布时间】:2011-06-18 01:00:15
【问题描述】:

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

@echo off
cls
title Hello World
echo Hello World
pause

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

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

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

【问题讨论】:

    标签: c# richtextbox


    【解决方案1】:
    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);
    

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

    【讨论】:

    • 这是用于 WinForm 的吗?找不到SelectionEnd 属性。
    • 谢谢,这正是我想要的,而且效果很好。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-26
    • 1970-01-01
    相关资源
    最近更新 更多