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

效果

相关推荐
大卡片41 分钟前
C++的基础知识点
开发语言·c++
郑同学的笔记1 小时前
【Qt教程29】Qt5和Qt6版本对比
开发语言·qt
基德爆肝c语言1 小时前
Qt 主窗口全家桶:菜单栏、工具栏、状态栏与对话框完全指南
开发语言·qt
XMYX-03 小时前
28 - Go JSON 数据操作
开发语言·golang·json
三*一3 小时前
Mapbox GL JS 自研面要素整形工具开发实录
开发语言·javascript·arcgis·ecmascript
超级小星星3 小时前
C 语言结构体内存对齐深度解析:从概念到实战
c语言·开发语言
狮子座明仔3 小时前
AgentSPEX:当 Agent 框架开始把“控制流“从 Python 里抠出来
开发语言·python
qq_431280704 小时前
上位与基恩士PLC通讯工作记录
c#
笨笨饿4 小时前
74_SysTick滴答定时器中断
c语言·开发语言·人工智能·单片机·嵌入式硬件·算法·学习方法
科芯创展4 小时前
XZ4058B/C,20V,外置MOS,8.4V/8.7V开关充电芯片 宽范围电源电压:8.9V~20V-(电池充电电压:8.4V/8.7V)
c语言·开发语言