【问题标题】:Create SEARCH and go through each result创建搜索并浏览每个结果
【发布时间】:2014-12-22 05:50:57
【问题描述】:

基本上我有一个 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

基本上,当我输入例如“The”,如果 RichTextBox 中有“The”,它会为该单词设置背景颜色,并为每个“The”单词设置背景颜色。

我想要做的是,当我输入单词“The”时,会有一个标签,其中包含结果数量,并且每次用户单击“查找”按钮时,它都会选择单词“The”并继续选择并继续,直到不再有。

很像本机记事本查找功能,它会选择并遍历每个单词。

【问题讨论】:

    标签: vb.net search textbox richtextbox


    【解决方案1】:

    不确定你想用那个临时变量做什么......你可能想在完成后写一些东西来清除背景颜色。

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

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        If Not RichTextBox1.Focused Then
            RichTextBox1.Focus()
        End If
        RichTextBox1.Find(TextBox1.Text, RichTextBox1.SelectionStart + RichTextBox1.SelectionLength, RichTextBoxFinds.None)
    End Sub
    

    阅读 MSDN 中的 Find 方法了解更多详情。

    edit:为了找到命中结果的数量,您可以简单地计算“突出显示”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
    

    count 将保存结果数量。

    【讨论】:

    • 谢谢!还有一件事,我怎样才能得到结果的数量,例如在“Yes No No Then No Yes”这句话中,有 3 个“No”,我怎样才能得到 3 个?喜欢我输入“否”并搜索时的字数?
    • @F4z 查看我的编辑。如果您打算在未来进行更多编程,您可能想了解一下 while 循环。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-10-21
    • 1970-01-01
    • 1970-01-01
    • 2015-02-22
    • 2015-01-19
    • 2017-04-28
    • 2017-05-10
    相关资源
    最近更新 更多