带标尺的高级文本编辑器






4.85/5 (43投票s)
扩展 RichTextBox,

引言
大约两年前,我正在创建一个大学项目。 它是一个由五个程序组成的测试(检查知识)综合体。 其中一个包含文本编辑器。 但不幸的是,我不知道该怎么做,所以它非常简单。 因此,两年后,我决定用 C# .NET 重写我的程序(最初是用 VB.NET 编写的)并创建一个新的强大的文本编辑器。 你可以在这里看到它的一部分。
背景
我花了很多时间(!)在互联网上搜索这样的控件,但最好的都是共享软件,其他的都不符合我的需求。 那么,这个控件有什么呢? 我试图让它看起来像 Microsoft Word,我认为它们有一些相似之处。 标尺允许您更改以下内容:左右边距、左缩进、悬挂缩进和右缩进。 您还可以禁用边距(它们的值设置为 1
)。 您可以在上图中看到它的外观。
此外,您可以通过用鼠标左键单击控件来添加制表符。 但只允许在边距限定的区域内。 如果要删除制表符,只需将其从控件中拖出即可。
编辑器允许您使用列表、下划线样式、高级字符样式(您可以创建自己的链接,这些链接不是以“http://”甚至“www”开头的单词),OLE 功能也可用。 我要感谢 Oscar Londoño 的文章 将图像插入到 RichTextBox 控件(OLE 方法)。 它帮助我处理 OLE 很多。 这个项目包含他的代码。
Using the Code
您可以根据 CPOL 使用代码。
项目创建为 Windows 应用程序,但您可以轻松地将它们转换为 *.dll 或仅将代码嵌入到您的项目中。
不幸的是,我删除了 Visual Studio 2005,所以,对不起,我无法创建和上传 Visual Studio 2005 项目。 但是,您可以毫无问题地将所有必需文件导入到 Visual Studio 2005 项目中。 但是,请注意,Visual Studio 2008 添加了一些 Visual Studio 2005 不“理解”的新命名空间(例如 LINQ)。 只需删除它们即可。 这就是全部。 你准备好了。
关注点
让我震惊的一件事是 Microsoft 已经发布了 RichTextBox
6.0!(它与 Microsoft Office 2007 一起分发),但是……有一个例外。 没有关于其功能的文档。 我发现的所有内容都是添加功能的列表。 您可以在 这里 找到它。 还有所有已发布版本的 RichTextBox
的描述。
历史
- 2008 年 1 月 7 日:初始版本
- 2008 年 1 月 16 日:发布了 Visual Studio 2005 和 2008 的项目,而不是独立的控件。
- 2008 年 1 月 26 日:发布了完整的
AdvancedTextEditor
项目。 它可用于 Visual Studio 2005 和 Visual Studio 2008。 - 2008 年 2 月 10 日:修复了
PrintDialog
错误。 显示时它没有获得焦点。 现在好了。 感谢 Chris Schucker 的错误报告和建议。 - 2008 年 2 月 22 日:添加了新功能(全文对齐、下划线样式和颜色以及其他)
- 2008 年 2 月 24 日:修复了从毫米到像素和反之亦然的转换错误。 感谢 Chris Schucker。 还纠正了导致缩进显示不正确的错误。
- 2008 年 3 月 19 日:发布了 2.0 版本。 很多更改,包括列表、OLE、下划线样式等。
新增功能
我知道我无法将所有内容都包含到控件中,这就是为什么您可以自由地添加一些有用的东西或更改代码以满足您的需求。 但是,请告诉我,只需发送电子邮件至 krasssss@mail.ru。 这只是为了让任何人都可以使用该控件的升级(和更正)版本。 当然,顾问将被提及。