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 { 
            }
        }

效果

相关推荐
hashiqimiya几秒前
harmonyos的鸿蒙的跳转页面的部署
开发语言·前端·javascript
她说彩礼65万8 分钟前
C#设计模式 单例模式实现方式
单例模式·设计模式·c#
零基础的修炼10 分钟前
Linux---序列化与反序列化
java·开发语言
敲代码的嘎仔17 分钟前
JavaWeb零基础学习Day6——JDBC
java·开发语言·sql·学习·spring·单元测试·maven
GIS瞧葩菜27 分钟前
【无标题】
开发语言·前端·javascript·cesium
j_xxx404_1 小时前
C++ STL:list|了解list|相关接口|相关操作
开发语言·c++
脏脏a2 小时前
类与对象(上):面向过程到面向对象的跨越,类的定义、封装与 this 指针等核心概念深度剖析
开发语言·c++
熊猫比分站2 小时前
[特殊字符] Java/Vue 实现体育比分直播系统,支持多端实时更新
java·开发语言·vue.js
inferno2 小时前
Maven基础(一)
java·开发语言·maven
csbysj20203 小时前
SQLite Truncate Table: 完全删除表中的数据
开发语言