关于快速取得RichTextBox的长度及文本的问题
比如下面的代码:
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的一些常用属性。实现基本常用的编辑功能
【愚公系列】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控件实例
VB RichTextBox 每行文字设置不同颜色
VB RichTextBox 每行文字设置不同颜色


API
