0

如何在富文本框中的特殊行中添加文本...示例:我想将“此文本”添加到第 6 行

4

4 回答 4

2

只要行号可用就可以

例子 :

string[] lines = richTextBox1.Lines;
lines[6] = "This Text";
richTextBox1.Lines = lines;
于 2012-08-02T20:44:03.567 回答
0

如果您想在第 6 行插入文本而不丢失当前文本

string[] buffer = new string[richTextBox1.Lines.Length+1];
Array.Copy(richTextBox1.Lines, 0, buffer, 0, 5);
buffer[5] = "MyText";
Array.Copy(richTextBox1.Lines, 5, buffer, 6, richTextBox1.Lines.Length - 5);
richTextBox1.Lines = buffer;
于 2012-08-02T20:52:21.510 回答
0

正如其他人所说,在 Windows 窗体中,您可以使用RichTextBox.Lines属性来做到这一点。

WPFRichTextBox中,这有点棘手:您需要TextPointer在行首获取 a,将其向下移动 7 行,然后返回一个位置,然后在此处插入文本。像这样的东西(我不在 Visual Studio 附近,这可能无法编译!):

public static void InsertText(RichTextBox richText, int line, string text) {
    // Find the position at the end of the specified line.
    var documentStart = richText.Document.ContentStart;
    var lineEnd = documentStart.GetLineStartPosition(line + 1)
                      .GetPositionAtOffset(1, LogicalDirection.Backward);

    // Insert the text there.
    lineEnd.InsertTextInRun(text);
}
于 2012-08-02T20:49:20.683 回答
0

我认为您可以使用 .Lines 属性,它是一个字符串 [],并且是可读写的……但我认为如果它们不存在的话,您必须在第 6 行前面插入空行。

于 2012-08-02T20:37:30.420 回答