更改 C# 中多行文本框的特定行

Nee*_*eta 3 c# textbox winforms

我无法更改多行文本框的特定字符串。

假设多行文本框的第一行是"Hello",第二行是"Bye"。但是当我尝试更改第二行的值时,如下所示。

textBox1.Lines[1] = "Good bye";

当我使用调试模式看到结果时,它不是“再见”。

我还阅读了这篇MSDN文章和这个stackoverflow问题,但无法得到所需的答案。

Nin*_*ino 5

正如 MSDN 所说(您提供的链接):

默认情况下,行集合是 TextBox 中行的只读副本。要获取可写的行集合,请使用类似于以下内容的代码:textBox1.Lines = new string[] { "abcd" };

因此,您必须“获取”Lines集合,更改它,然后返回TextBox。可以这样实现:

var lines = TextBox1.Lines;
lines[1] = "GoodBye";
TextBox1.Lines = lines;
Run Code Online (Sandbox Code Playgroud)

或者,您可以替换文本,就像Wolle 建议的那样