Vb.net 创建搜索并浏览每个结果

Vb.net 创建搜索并浏览每个结果,vb.net,search,textbox,richtextbox,Vb.net,Search,Textbox,Richtextbox,基本上我有一个RichTextBox,TextBox和一个按钮。RichTextBox中有一些文本,Textbox用于键入单词,按钮用于查找单词。到目前为止,我正在使用: Dim index As Integer = 0 Dim temp As String = txtbx_Write.Text txtbx_Write.Text = String.Empty txtbx_Write.Text = temp While index < txtbx_Write.Text.LastIndexO

基本上我有一个RichTextBox,TextBox和一个按钮。RichTextBox中有一些文本,Textbox用于键入单词,按钮用于查找单词。到目前为止,我正在使用:

Dim index As Integer = 0
Dim temp As String = txtbx_Write.Text
txtbx_Write.Text = String.Empty
txtbx_Write.Text = temp

While index < txtbx_Write.Text.LastIndexOf(TextBox1.Text)
  txtbx_Write.Find(TextBox1.Text, index, txtbx_Write.TextLength, RichTextBoxFinds.None)
  txtbx_Write.SelectionBackColor = Color.DarkGray
  index = txtbx_Write.Text.IndexOf(TextBox1.Text, index) + 1
End While
Dim索引为整数=0
Dim temp As String=txtbx_Write.Text
txtbx_Write.Text=String.Empty
txtbx_Write.Text=temp
而index
基本上,当我输入例如“The”时,如果RichTextBox中有“The”,它将为该单词设置背景色,并为每个“The”单词设置背景色

我想做的是,当我输入单词“the”时,会有一个带有结果数量的标签,用户每次单击“Find”按钮时,它都会选择单词“the”,并继续选择,直到没有结果为止


与本机记事本的“查找”功能非常相似,它可以选择并遍历每个单词。

不确定如何处理该临时变量。。。你可能想写一些东西,在完成后清除背景色

无论如何,您可以对“查找”按钮执行以下操作:

有关详细信息,请阅读中的查找方法

编辑:为了找到命中结果的数量,您可以简单地计算“突出显示”while循环。因为你必须通读所有的单词来突出显示它们,所以信息已经存在了

示例代码:

Dim index As Integer = 0
Dim count As Integer = 0
While index < RichTextBox1.Text.LastIndexOf(TextBox1.Text)        
    RichTextBox1.Find(TextBox1.Text,index,RichTextBox1.TextLength, 
                      RichTextBoxFinds.None)
    RichTextBox1.SelectionBackColor = Color.DarkGray
    index = RichTextBox1.Text.IndexOf(TextBox1.Text, index) + 1
    count = count + 1
End While
Dim索引为整数=0
Dim计数为整数=0
而index

计数将保留结果金额。

谢谢!还有一件事,我怎样才能得到结果的数量,例如,在句子“Yes No No No Then No Yes”中有3个“No”我怎样才能得到3?就像我键入“否”并搜索时的字数一样?@F4z查看我的编辑。如果您打算在将来进行更多的编程,您可能需要阅读while循环。
Dim index As Integer = 0
Dim count As Integer = 0
While index < RichTextBox1.Text.LastIndexOf(TextBox1.Text)        
    RichTextBox1.Find(TextBox1.Text,index,RichTextBox1.TextLength, 
                      RichTextBoxFinds.None)
    RichTextBox1.SelectionBackColor = Color.DarkGray
    index = RichTextBox1.Text.IndexOf(TextBox1.Text, index) + 1
    count = count + 1
End While