c# - 如何在richTextBox的索引0中的每一行附近添加数字?

标签 c# .net winforms

for (int i = 0; i < richTextBox2.Lines.Length; i++)
{
    richTextBox2.Lines[i] = richTextBox2.Lines[i].Insert(0, i + " ");
}


在尝试插入之前:

richTextBox2.Lines[i].Insert(0, i + " ");


在这两种情况下,都不会加任何数字。

例如,如果这些行是:

Hello world
Hi
Hello


然后我希望它现在是:

1 Hello world
2 Hi
3 Hello


但是循环不会执行任何操作,因为它不会添加任何数字。

最佳答案

您不能以这种方式修改单行。如果您look at MSDN您会发现这句话


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


因此,达到目标的正确方法是

string[]  lines = richTextBox2.Lines;

for (int i = 0; i < lines.Length; i++)
{
    lines[i] = (i+1) + " " + lines[i];
}
richTextBox2.Lines = lines;

关于c# - 如何在richTextBox的索引0中的每一行附近添加数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45016198/

相关文章:

c# - 将 XML 文件读取到 C# DataSet 中

c# - 限制并发登录 - ASP.NET Identity

c# - IEnumerable Where() 和 ToList() - 它们的实际作用是什么?

从外部线程调用时,.net 单元测试崩溃并显示 "Cannot pass a GCHandle across AppDomains"

c# - 在c#中将字符串公式转换为数学公式

c# - 将控制台输出重定向到单独程序中的文本框

c# - 从继承的 UserControl 获取初始尺寸

c# - 使用emgucv检测人脸和嘴巴后如何确定人脸特征

c# - vba - 扫描文档中的宏并替换宏文本?

.net - 如何在ASP.NET MVC中重定向到调用页面?