0

リッチ テキスト ボックスの特別な行にテキストを追加するにはどうすればよいですか? 例: 「このテキスト」を 6 行目に追加したい

4

4 に答える 4

2

回線番号があれば可能です

例 :

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

他の人が言ったように、Windows フォームでは、プロパティを使用してそれを行うことができRichTextBox.Linesます。

WPFRichTextBoxでは、これは少しトリッキーです。TextPointer行頭の を取得し、それを 7 行下に移動してから 1 つ後ろに移動し、そこにテキストを挿入する必要があります。このようなもの (私は 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

現在のテキストを失わずに 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

string[] であり、読み書き可能である .Lines プロパティを使用できると思いますが、6 行目の前に空の行を挿入する必要があると思います。

于 2012-08-02T20:37:30.420 に答える