关于快速取得RichTextBox的长度及文本的问题

cs_dn_net cs_dn_net 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
在RichTextBox中,当文本文件比较大时(比如10M多),取得文本的长度或文本内容都要花很长时间。
比如下面的代码:

Private Declare Function timeGetTime Lib "winmm.dll" () As Long
Private Sub cmdShowLen_Click()
Dim T As Long, L As Long
T = timeGetTime
L = Len(RichTextBox1.Text)
T = timeGetTime - T
MsgBox "用时=" & Str(T) & " 长度=" & Str(L)
End Sub
Private Sub cmdGetText_Click()
Dim T As Long
Dim S As String
T = timeGetTime
S = RichTextBox1.Text
T = timeGetTime - T
MsgBox "获取文本用时=" & Str(T)
End Sub

编译成本机代码后进行测试。
对一个690K的文本文件,获取长度或文本均在85ms左右;
对一个5.5M的文本文件,获取长度或文本需要9,600ms左右;
对一个14.2M的文本文件,获取长度或文本需要65,400ms左右。
对于更大的文件已经不想测试了。
第2个文件不到第1个文件的10倍大小,花费的时间却超过100倍!
第3个文件不到第2个文件的3倍大小,花费的时间也近7倍!

有什么办法可以快速取得RichTextBox里面的文本和长度呢?
SendMessage可以吗?
又或者有什么控件可以快速取得文本和长度的呢?(只要能容纳大的纯文本文件)
...全文

相关推荐

WPF自制RichTextBox文本编辑器

WPF自制RichTextBox文本编辑器,利用了命令,RichTextBox的一些常用属性。实现基本常用的编辑功能

Blicae

【愚公系列】2023年10月 WPF控件专题 RichTextBox控件详解

WPF控件是Windows Presentation Foundation(WPF)中的基本用户界面元素。它们是可视化对象,可以用来创建各种用户界面。WPF控件可以分为两类:原生控件和自定义控件。原生控件是由Microsoft提供的内置控件,如Button、TextBox、Label、ComboBox等。这些控件都是WPF中常见的标准用户界面元素。自定义控件则允许开发人员使用XAML和C#等编程语言来创建个性化的用户界面元素。自定义控件可以根据需求提供更多的功能和自定义化选项,以及更好的用户体验。

愚公搬代码

C# WinForm文本编辑器开发:RichTextBox核心功能与架构设计实战

桌面应用开发中,事件驱动编程模型是构建交互式界面的基础技术,它通过响应用户操作来驱动程序流程。在.NET生态中,WinForm作为经典的桌面开发框架,提供了直观的控件拖拽和事件绑定机制,是实现快速原型和内部工具的高效选择。其技术价值在于能够以较低的学习成本掌握GUI应用程序的核心架构,理解消息循环、控件生命周期等底层原理。在实际应用场景中,文本编辑器是典型的桌面应用,它涉及文件操作、文本处理、用户交互等多个模块的协同工作。通过RichTextBox控件,开发者可以深入实现富文本编辑、格式设置、查找替换等高级

予晚

VB RichTextBox控件实例

VB RichTextBox控件实例 VB RichTextBox控件实例

zhaoxia368

VB RichTextBox 每行文字设置不同颜色

VB RichTextBox 每行文字设置不同颜色

ixiaokangoks
评论 7
收藏 已收藏
分享
返回顶部
cs_dn_net
API 1,488 成员 23,270 内容