怎样在richtextbox中查找内容用find?

knife_s 2002-07-31 01:19:46
怎样在richtextbox中查找内容用find,并且要高亮显示须焦点要转到被选中的内容。
...全文
91 点赞 收藏 1
写回复
1 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
sworddx 2002-07-31
Find方法
在RichTextBox控件中搜索指定的字符串。应用于RichTextBox控件。语法object.Find (string, start, end , options)Find方法的语法有如下几个部分:

object

一个RichTextBox控件的对象表达式

string

在控件中搜索的字符串表达式

start

可选参数。一个整数,指定开始搜索的字符索引位置。RichTextBox控件中的每个字符都有一个整数索引位置,用于唯一标识该字符。RichTextBox控件中的第一个字符的索引是0

end

可选参数。一个整数,指定结束搜索的字符索引位置

options

可选参数。一个或多个索引常量,指定选项特征,如“设置”中所示设置

option值的设置如下:

rtfWholeWord(整数表达式为2): 确定匹配是整个单词还是单词的一部分rtfMatchCase(4): 确定匹配是否使用大小写
rtfNoHightlight(8): 确定匹配的字符是否加亮显示你可以使用Or操作符组合这些条件。

说明
如果指定所搜索的文本,则Find方法加亮指定的文本,并返回加亮的第一个字符的索引。如果指定的文本没有找到,Find方法返回-1。

如果使用Find方法时没有rtfNoHightlight选项,并且HideSelection属性设置为True,RichTextBox控件也没有输入焦点,则控件仍加亮显示找到的文本。后续的Find方法将只搜索加亮的文本,直到移动了插入点。

Find方法的行为还取决于start和end参数的设置。

示例

下面的例子根据在TextBox控件中输入的文本对RichTextBox控件进行搜索。如果找到指定的字符串,则显示一个消息框,指出包含指定单词的行号。要使用本例,在一个窗体上放置一个RichTextBox控件,一个CommandButton控件,一个TextBox控件。给RichTextBox控件加载一个文件,将下面的代码拷贝到窗体的Declarations段中。运行本例,在TextBox控件中输入文本,然后点击CommandButton控件。
Private Sub Command1_Click()
Dim FoundPos As Integer
Dim FoundLine As Integer
FoundPos = RichTextBox1.Find(Text1.Text, , , rtfWholeWord)
If FoundPos <> -1 Then
text.FoundLine = RichTextBox1.GetLineFromChar(FoundPos)
MsgBox "Word found on line " & CStr(FoundLine)
Else
MsgBox "Word not found."
End If
End Sub
回复
相关推荐
发帖
VB基础类
创建于2007-09-28

7518

社区成员

VB 基础类
申请成为版主
帖子事件
创建了帖子
2002-07-31 01:19
社区公告
暂无公告