c# RichTextbox添加行号

使用另一个RichTextBox放在要添加行号的左边

使用以下代码

csharp 复制代码
		//uiRichTextBox1为右侧文本框,uiRichTextBox2为左侧文本框
        int lineIndex = 0;
        private void uiRichTextBox1_TextChanged(object sender, EventArgs e)
        {
            if (lineIndex > uiRichTextBox1.Lines.Length)
            {
                List<string> temp = new List<string>();
                temp.AddRange(uiRichTextBox2.Text.Split('\n'));
                int count = lineIndex - uiRichTextBox1.Lines.Length;
                if (temp.Count - count - 1 > 0)
                {
                    temp.RemoveRange(temp.Count - count - 1, count);
                }
                else {
                    temp.Clear();
                }
                uiRichTextBox2.Text = String.Join("\n",temp);
                lineIndex = uiRichTextBox1.Lines.Length;
            }
            else if(lineIndex < uiRichTextBox1.Lines.Length)
            {
                uiRichTextBox2.Text += (uiRichTextBox1.Lines.Length-1) + "\r\n";
                lineIndex = uiRichTextBox1.Lines.Length;
            }
            else { 
            }
        }

效果

相关推荐
bj328144 分钟前
树的同构问题--Python
开发语言·python·算法
八股文领域大手子1 小时前
单机 vs 分布式:Java 后端限流的选择题
java·开发语言·数据结构·算法·spring
钢铁男儿2 小时前
C# 类成员的访问:内部与外部
服务器·开发语言·c#
钢铁男儿2 小时前
C# 类的基本概念(从类的内部访问成员和从类的外部访问成员)
java·数据库·c#
薛慕昭3 小时前
《ESP32无线网络编程全攻略:从STA/AP模式到NTP时间同步》
开发语言·单片机·嵌入式硬件
小杨升级打怪中3 小时前
前端面经-VUE3篇(二)--vue3组件知识(二)依赖注入、异步组件、生命周期、组合式函数、插件
开发语言·前端·javascript
催眠大树3 小时前
适配器模式(Adapter Pattern)
java·开发语言·适配器模式
博哥爱学习5 小时前
《Java高级编程:从原理到实战 - 进阶知识篇四》
java·开发语言
DeyouKong5 小时前
Go反射-通过反射调用结构体的方法(带入参)
开发语言·ios·golang
军训猫猫头5 小时前
90.如何将Maui应用安装到手机(最简) C#例子 Maui例子
智能手机·c#·.net