C# 中的 RichText 控件行号






4.89/5 (21投票s)
为自动调整大小的富文本框显示行号。这是从另一篇 VB.NET 编写的文章转换过来的版本。
引言
请稍候,更多详情正在更新中。
本文是将 VB.NET 项目转换为 C# 的项目,最初由 nogChoco 在文章“LineNumbers for the RichTextBox”中创建。
当然,任何人都可以创建一个行号用户控件。我为 VB 3.0 到 6.0 和 C++ 制作了许多变体,总是使用 picture boxes 或其他东西作为绘图基础来标记位置。当 Microsoft 发布了更新版本的RichText
控件框(在更新的版本中)时,旧的方法就过时了。我的意思是,可以通过按住 Ctrl(或 Shift)键并使用鼠标滚轮轻松地放大和缩小该框,这对传统方法造成了巨大的问题。
问:为什么使用RichText
而不是传统的TextBox
?
答:(在旧版本中)RichText
可以容纳更多数据!(并提供更多功能)

编译前须知
我已成功地在 Visual Studio 2008 和 SharpDevelop 3.x 中使用 Framework 2.0 编译并运行了此示例项目。
您可能在 VS 2005 及更低版本中运行此示例项目时遇到问题,请注意该控件在 Framework 2.0 下可以正常工作。如果您在 VS 2005 或其他 IDE 中运行此程序时遇到问题,您可能需要找到一个项目转换器或升级您的 IDE。如果这对您造成不便,我深感抱歉,这也是为什么此文章发布给中级和高级用户的原因。
如果您想要一个可以运行此程序的免费 IDE,可以尝试SharpDevelop IDE。
编译您自己的项目

使用 SharpDevelop (3.x)
- 创建一个新的 C# Windows 项目
- 向您的项目添加引用(右键单击“References”>“Add Reference”)
- 在 GAC 选项卡中选择:“
Microsoft.VisualBasic
” - 将现有项插入您的项目中..“linenum_rtf.cs”
- 在 Custom Components 下,将“
LineNumbers_For_RichTextBox
”插入您的窗体,并插入一个RichTextBox
- 将它们并排放置(默认在左侧)
- 将行号链接到您的
RichTextBox
- 在“Add LineNumbers to”>“Parent Rich Text Box”下
- 选择您要添加行号的
RichTextBox
- (可以随意自行自定义)
- 运行项目!
使用 Visual Studio (2008)
- 创建一个新的 C# Windows 项目
- 向您的项目添加引用(右键单击“References”>“Add Reference”)
- 在 .NET 选项卡中选择:“
Microsoft.VisualBasic
” - 将现有项插入您的项目中...“linenum_rtf.cs”
- 构建您的项目!
- 此操作在您先构建项目之前不会在 Custom Components 下显示!
- 在 Custom Components 下,将“
LineNumbers_For_RichTextBox
”插入您的窗体,并插入一个RichTextBox
- 将它们并排放置(默认在左侧)
- 将行号链接到您的
RichTextBox
- 在“Add LineNumbers to”>“Parent Rich Text Box”下
- 选择您要添加行号的
RichTextBox
- (可以随意自行自定义)
- 运行项目!
背景和要点
与所有软件设计师/开发人员一样,时间对于按时完成截止日期至关重要!此RichText
控件示例效果很好!特别是其使用鼠标滚轮的缩放功能,并且添加了易于自定义的美观图形功能。但是,我迫切需要用 C# 编程,而此示例仅以 VB.NET 提供...是时候升级它了,现在,继续!
历史
- 2009.08.05 - 从 VB.NET 初次转换为 C#
- 2009.08.08 - 更新此页面上的注释(图片即将到来)
待办事项
- 提供 2 个版本
- 图形版:当前版本(可自定义且美观)
- 简洁版:侧边栏简单且对您的项目有低开销
- 剥离对
Microsoft.VisualBasic
的引用,使其更纯粹的 C#
- Damian J. Suess,Xeno Innovations, Inc. [2000-2009]