0

我在网上和 StackOverflow 上进行了搜索,但我似乎找不到我的问题的答案,尽管其中一些非常接近。

我正在为 Delphi Prism 中的 .Net 编程。我在 WinForm 上有一个 RichTextBox,每次程序插入时我都需要在顶部插入一行文本。因此,我正在执行以下操作,它运行到最后并引发以下异常。

违规代码:

RichTextBox1.Lines.SetValue(str,0);

异常: 索引超出了数组的范围

我想,我想我知道为什么它会引发异常。这是因为 RichTextBox 中没有插入任何行。所以,我的程序真的不能插入任何文本行。每次我的程序插入新的文本行时,我都需要在顶部插入一行文本。

如果我确实调用了 RichTextBox1.AppendText(str);,那么它可以工作并插入 str 文本而不使用换行符,但它会在末尾附加。我希望它每次都在顶部插入文本。

如何在 RichTextBox 中插入一行文本?谢谢。

4

1 回答 1

1

文本框的 Lines 属性只是一个字符串数组。因此,您需要添加一个元素,将所有元素向下移动一个索引并在第一个索引处插入新文本。

文本框的 Text 属性也是一个字符串。.NET 中的字符串是不可变的,因此您需要完全替换该值。

一种方法是这样的:

RichTextBox1.Text := "YourNewText" + Environment.NewLine + RichTextBox1.Text;
于 2011-08-18T08:44:34.177 回答